2015-01-19 7 views
0

Я пытаюсь использовать библиотеку запросов, которая передает ответы. Следующий код работает, как ожидалось.обработчики событий highland.js не работают, как ожидалось

request.get('http://someurl.com') 
    .on('response', function(response) { 
    console.log(response.statusCode) // 200 
}); 

Однако, когда я пытаюсь сделать то же самое с highland.js, обработчик событий никогда не запускается.

var r = request.get('http://someurl.com'); 
var p =_('response', r); 
    p.map(function(x){ 
    console.log(x.statusCode); 
}); 

Есть ли что-то супер тривиальное, что мне здесь не хватает?

+1

Вы вызывающий преобразователь, на любом этапе в цепочке? Если вы не сделаете что-то вроде toArray() или each(), поток никогда не будет считан. – Stefano

+0

Вы правы. Мне также нужно вызвать удар. Тем не менее, проблема заключалась также в том, что я обернул ее в горный поток. –

ответ

1

Я понял это. Хайленд ожидает поток Хайленд, чтобы слушать события. Следующий код работает так, как ожидалось.

_(request(opts)) 
    .on('response', function(response){ 
    console.log(response.statusCode) 
    }) 

Вы можете дополнительно использовать этот горный поток для выполнения вещей, как карты, фильтр и т.д.

Смежные вопросы