我正在从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
谢谢!
答案 0 :(得分:0)
您应该收听Writestream finish
事件 - https://nodejs.org/api/stream.html#stream_event_finish