鍍金池/ 問答/HTML/ node中的stream和promise

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 后面跟一個可寫流,程序也能按預期正常執(zhí)行
難道是說stream 和promise是一樣的,但查了資料也沒有提到兩者的關系

回答
編輯回答
舊言

nodejs的Promise沒有pipe方法,所以建議你看看rp的源代碼

2018年3月17日 06:25