0

我目前正在尝试使用got模块https://www.npmjs.com/package/got但我对函数的格式/顺序有点困惑。很明显,您可以像这样链接侦听器和函数

 got.stream(link)
 .on('response', resp => {
   if (resp.statusCode != 200) this.emit('error', '!200')
 })
 .on('error', err => {
   console.log(err)
 })
 .pipe(somewhere)

请求模块也这样做。.pipe但是,如果您希望它仅在条件下发生,您如何避免resp.statusCode != 200?看到很多request模块中都用到了,应该是很基础的东西理解了,但是我不是很能掌握。

4

1 回答 1

1

如果您不想,则不需要链接它,在这种情况下,您也不想。这是一个简化的示例,您可以在不使用链接的情况下执行此操作:

const gotStream = got.stream(link);
gotStream.on('response', resp => {
    if(resp.statusCode == 200) {
        gotStream.pipe(somewhere);
    }
});
于 2017-05-07T04:44:45.483 回答