作为 (d) input = fs.createReadStream('/etc/passwd')output = fs.createWriteStream('/dev/null'),可以通过 input.pipe(output) 将流数据从输入流传递到输出流。为了确保流的完成,可以在每个流的末尾使用异步处理:

stream_as_promised(input)


.then(function(){ console.log('Done reading.'); })

以及对输出流使用相同的方法:

stream_as_promised(output)


.then(function(){ console.log('Done writing.'); })

你还可以通过 .once('end') 监听流的单个事件,并确保在流结束时执行相关操作:


stream_as_promised(input)

  .once('end')

  .then(function(){ console.log('Done reading.'); });