【发布时间】:2014-04-11 01:10:26
【问题描述】:
我正在尝试确定节点 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");
在我的控制台中,我看到“结束”,但从未“完成”,也没有任何响应。但是,流正在正确写入,并且似乎正在完成(我在数据库中看到已完成的文件)。那甚至没有开火。我尝试将“这可能有效”移动到对 end() 的调用中并删除 write(),我也尝试将字符串传递给 end()。该字符串被写入流,但仍然没有回调。
为什么这个事件不会被触发?
谢谢。
【问题讨论】:
-
您使用的是什么版本的 Node,
GFS是什么? -
感谢您的回复。我弄清楚了这个问题。 GFS 是 gridfs-stream,它实际上没有“完成”事件。只是一个“关闭”事件。