node中的stream和promise

看别人的代码看到一行代码很奇怪


const downImage = async function (options, path) {

  await rp(options).pipe(fs.createWriteStream(path));

}

rp是一个npm模块,rp(options)返回的是一个promise

pipe是node中可读流的一个方法

也就是说rp(options)应该是一个可读流,

rp(options).pipe(fs.createWriteStream(path))返回目标流的引用也就是返回的是一个可写流

await 后面跟一个可写流,程序也能按预期正常执行

难道是说stream 和promise是一样的,但查了资料也没有提到两者的关系


呼如林
浏览 468回答 1
1回答

慕盖茨4494581

nodejs的Promise没有pipe方法,所以建议你看看rp的源代码
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript