Puppeteer 尽管处于 await 函数中却没有及时返回?
Puppeteer not returning in time despite being in an await function?
我有一个生成 PDF 的 Puppeteer 函数:
const generatePdfBase64 = async (html) => {
const browser = await puppeteer.launch();
const page = await browser.newPage()
await page.setContent(html)
const pdf = await page.pdf();
await browser.close();
console.log("PDF Generated")
const pdfBase64 = new Buffer.from(pdf).toString('base64');
return pdfBase64
}
const generatedPDF = await generatePdfBase64(html)
doSomethingWithPDF(generatedPDF)
这是在生成正确的字符串,但是在 generatePdfBase64 函数返回 pdfBase64 之前,doSomethingWithPDF 正在继续。这怎么可能?以及如何修复?
在上游的某些代码中缺少 await——上面应该可以工作!
我有一个生成 PDF 的 Puppeteer 函数:
const generatePdfBase64 = async (html) => {
const browser = await puppeteer.launch();
const page = await browser.newPage()
await page.setContent(html)
const pdf = await page.pdf();
await browser.close();
console.log("PDF Generated")
const pdfBase64 = new Buffer.from(pdf).toString('base64');
return pdfBase64
}
const generatedPDF = await generatePdfBase64(html)
doSomethingWithPDF(generatedPDF)
这是在生成正确的字符串,但是在 generatePdfBase64 函数返回 pdfBase64 之前,doSomethingWithPDF 正在继续。这怎么可能?以及如何修复?
在上游的某些代码中缺少 await——上面应该可以工作!