2

我正在从 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

谢谢!

4

1 回答 1

1

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

于 2018-05-01T19:06:30.723 回答