在返回 Promise 后运行回调函数,可以使用async/await结合try/catch语句来解决。下面是一个示例代码:
const wkhtmltopdf = require('wkhtmltopdf');
const fs = require('fs');
function generatePDF(html) {
return new Promise((resolve, reject) => {
wkhtmltopdf(html, { output: 'output.pdf' }, (err) => {
if (err) {
reject(err);
} else {
resolve('PDF generated successfully');
}
});
});
}
async function generateAndSavePDF(html) {
try {
await generatePDF(html);
console.log('PDF generated successfully');
// 在这里可以继续执行其他后续操作
} catch (err) {
console.error('Error generating PDF:', err);
// 处理错误
}
}
generateAndSavePDF('Hello, World!
');
在上面的示例中,generatePDF
函数返回一个 Promise。在 Promise 的回调中调用了 wkhtmltopdf
来生成 PDF 文件。然后,在 generateAndSavePDF
函数中使用 async/await
来等待 Promise 的解决或拒绝,并在相应的情况下执行后续操作。
请注意,这只是一个示例,你需要根据你的实际需求来调整代码。