NodeJS可写流:如何等待数据刷新?

时间:2014-03-06 18:03:08

标签: node.js stream

我有一个简单的情况,https.get将其响应流传输到使用fs.createWriteStream创建的文件流中,如下所示:

var file = fs.createWriteStream('some-file');

var downloadComplete = function() {
  // check file size with fs.stat
};

https.get(options, function(response) {
  file.on('finish', downloadComplete);
  response.pipe(file);
});

几乎所有时间都可以正常工作,downloadComplete中确定的文件大小是预期的。然而,它经常变得有点太小,几乎就像底层的file流没有写入磁盘,即使它已经引发了finish事件。

有没有人知道这里发生了什么,或者有什么特别的方法可以让finish被调用的延迟和写入磁盘的基础数据更加安全?

0 个答案:

没有答案