NodeJS:Writable-Stream如何知道将不再有数据?

时间:2013-07-16 07:46:16

标签: node.js stream

当我在节点中实现可写流时,我必须实现的唯一方法是_write。但我怎么知道没有更多的数据?

我的流的消费者以mystream.end(data)结束传输,当我完成写作时,他也会收到一个事件finish。但是我如何在可写实现中了解这一点?

1 个答案:

答案 0 :(得分:0)

好吧,一个可写的会发出一个'完成'调用writable.end()时的事件。 因此,添加一个finish事件侦听器,然后在可写结束时调用处理程序。

class MyWritable extends Stream.Writable {
  constructor() {
    super()
    this.on('finish', function() {
      console.log('no more data to be written')
    }
  }
}

参考:https://nodejs.org/api/stream.html#stream_event_finish