How do Fibers and Meteor.asyncWrap work?

Adding to @lai’s example, we can also just do

var requestSync = Meteor.wrapAsync(function(url, callback) {
  request(url, function (error, response, body) {
    callback(error, {response: response, body: body})
  })
})

var result = requestSync("http://google.com")

console.log(result.response, result.body)