createWriteStream close事件

时间:2013-10-30 11:40:41

标签: node.js

我正在从FTP读取流(https://npmjs.org/package/ftp)进行管道传输到简单的fs写入流。我正在等待fs流的关闭事件,然后退出我的应用程序,但是当我这样做时,看起来整个文件在我稍后查看时还没有刷新到磁盘。

代码如下所示:

 var fstream = fs.createWriteStream(savePath + file);
 fstream.once('close',deferred.resolve);
 stream.pipe(fstream);

当这个承诺完成后,我退出了应用程序。是否还有其他一些事件我应该听一下,知道该文件是否确实被操作系统刷新到了磁盘?这个问题在我的具有大磁盘缓冲区(8M)的生产盒上尤其成问题。

我认为这可能是一个节点问题。我已经打开了这个问题:

https://github.com/joyent/node/issues/6438

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该收听Writestream finish事件 - https://nodejs.org/api/stream.html#stream_event_finish