我目前正在尝试使用得到模块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)
的request模块也做到这一点。但是,如果您希望只在条件resp.statusCode != 200
的条件下发生,您如何避免.pipe
?看到它在很多请求模块中使用,它必须是一个非常基本的东西来理解,但我不能完全理解它。
当你'got.stream(无论)',它产生一个“只读流”,这是基本的东西这在块发出的数据,而不是像立即像普通功能或其他任何东西一样立即返回所有内容。你可以在这里看到可读流的文档:https://nodejs.org/dist/latest-v7.x/docs/api/stream.html#stream_readable_streams – Markasoftware
对 - 但有没有办法不开始管道,直到条件会见?或者在这种情况下不可能? [fetch](https://www.npmjs.com/package/fetch)似乎能够通过将流分配给一个变量来实现这一点,并且只要监听器中的“this”能够管道化,只要 – platizin