Я использую такую обертку для асинхронной функции request:
function url_get(url){
return request.sync(null,{url: url})[1]
}
данная функция возвращает тело результата http-запроса. Значение параметров null и [1] можно найти в документации по request и sync
единственное условие налагаемое на данную обертку в том, что ее можно вызывать только внутри фибера - особой асинхронной функции, то есть вот так:
sync(function(){
. . .
var body= url_get(url)
. . .
})
есть так же одно неудобство, заключающееся в том, что ошибки возникшие внутри фибера не попадают в консоль. Я решаю данную проблему так:
sync(function(){
try{
. . .
var body= url_get(url)
. . .
}catch(e){
console.error(e);
}
})