我试图抓住这样写画布流的完成:
var out = fs.createWriteStream(out_fs);
var stream = canvas.createPNGStream({
bufsize: 2048
});
stream.on('end', function () {
// can we use out_fs now? why not?
});
stream.pipe(out);
但是当我尝试加载out_fs
子功能时
错误:给定的图像尚未完成加载
在这一行:
fs.readFile(out_fs, function (err, data) {
if (err) throw err;
var img = new Canvas.Image; // Create a new Image
img.src = data;
ctx2.drawImage(img, 0, 50, img.width, img.height); <--
http://nodejs.org/api/stream.html#stream_event_end
但是在写入流之后,我看不到任何其他方法可以继续控制流。如果我让整个父函数返回,那么该文件似乎是可读的。我尝试将我的子函数包装在 中setImmediate()
,但这似乎只是间歇性地工作。
捕获写入流的最终可用最终结果的最终方法是什么?
node-canvas 文档声称该end
事件标志着文件的最终写入:https ://www.npmjs.com/package/canvas#canvaspngstream
但是,如果您立即尝试使用它,则会产生上述错误。
`finish' 似乎根本没有实现。