Показать сообщение отдельно
  #3 (permalink)  
Старый 10.11.2015, 07:58
Аватар для freeneutron
Аспирант
Отправить личное сообщение для freeneutron Посмотреть профиль Найти все сообщения от freeneutron
 
Регистрация: 23.05.2012
Сообщений: 40

Я использую такую обертку для асинхронной функции 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);
	}
})
Ответить с цитированием