无法触发节点流的完成事件

  • 本文关键字:事件 节点 node.js stream
  • 更新时间 :
  • 英文 :


我正在尝试确定节点WriteStream何时完成写入:

var gfs = GFS(db);
var writeStream = gfs.createWriteStream(
{
    filename: "thismyfile.txt",
    root: "myfiles"
});
writeStream.on("finish", function()
{
    console.log("finished");
    response.send({ Success: true });
});
writeStream.write("this might work");
writeStream.end();
console.log("end");

在我的控制台中,我看到"结束",但从来没有"结束"过,也从来没有回应。然而,流写得很好,似乎正在完成(我在数据库中看到了完成的文件)。这根本就不是开火。我尝试过将"this may work"移到对end()的调用中,并删除write(),我还尝试过将字符串传递到end()中。该字符串被写入流,但仍然没有回调。

为什么这个活动不会被解雇?

谢谢。

gridfs-stream模块主要为节点0.8.x及以下设计和编写,不使用require('stream').WritableStream在node>=0.10.x中提供的stream2风格的方法。因此,它没有得到标准化的finish事件。这取决于模块实现本身来发出finish,而它显然没有。

相关内容

  • 没有找到相关文章

最新更新