gpt4 book ai didi

javascript - 访问 Node 中 PDFCrowd 的 saveToFile 方法中的结束事件

转载 作者:行者123 更新时间:2023-12-03 09:38:32 25 4
gpt4 key购买 nike

我正在使用 Node,并尝试通过访问 saveToFile 方法中的 end 事件来知道我的 PDF 何时创建。我想出了以下内容,但这实际上并没有做任何事情——没有生成 PDF:-

return new Promise(function(resolve, reject) {
client.convertHtml(html, {
pdf: function(rstream) {
rstream.on('end', function() {
pdf.saveToFile(path);
resolve();
});
}
}, a4);
});

我可以在库中看到结束方法:-

var saveToFile = function(fname) {
return {
pdf: function(rstream) {
var wstream = fs.createWriteStream(fname);
rstream.pipe(wstream);
},
error: function(errMessage, statusCode) { console.log("ERROR: " + errMessage); },
end: function() {},
};
}

但我不知道如何让这一切结合在一起。我目前有一个 bluebird Promise 包裹着该函数,其想法是在成功结束事件时解析 Promise,然后继续:-

_generatePdf(stuffs).then(function() {
console.log('all done here');
});

我想这一切都非常简单——感谢帮助!

如果需要,我们会很乐意用更多信息更新问题。

感谢帮助。

最佳答案

您正在覆盖处理写入文件的默认函数。在您的新函数中,您没有从 rstream 读取任何数据,这就是为什么没有发出 end 事件的原因。尝试这样:

 pdf: function(rstream) { 
rstream.on('end', function() {
pdf.saveToFile(path);
resolve();
});
var wstream = fs.createWriteStream(path);
rstream.pipe(wstream)
},

关于javascript - 访问 Node 中 PDFCrowd 的 saveToFile 方法中的结束事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31255341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com