链接功能

Chaining functions

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

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

request 模块也这样做。但是如果你想让它只在条件 resp.statusCode != 200 时发生,你如何避免 .pipe 呢?看在很多request模块中用到,想必是很基础的东西,但我还是不太能掌握。

如果您不想,您不需要链接它,在这种情况下,您不想。这是一个无需链接即可完成的简化示例:

const gotStream = got.stream(link);
gotStream.on('response', resp => {
    if(resp.statusCode == 200) {
        gotStream.pipe(somewhere);
    }
});