我已经阅读了有关此错误的所有信息,似乎没有任何解决方法。
无论我做什么,我都会不断遇到page crashed!
错误。
我正在使用最新的3.0.2版本。
router
.get('/pdf/:id*', function (req, res) {
(async () => {
try {
const browser = await puppeteer.launch({
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage']
});
const cookie = {
name: 'token',
value: req.cookies.token,
url: `${req.protocol}://${req.get("Host")}`,
}
await page.setCookie(cookie)
let resource = req.url.split("/pdf/")[1];
await page.goto(`${req.protocol}://${req.get("Host")}/${resource}`, { timeout: 900000, waitUntil: 'networkidle0' });
page.on('error', err => { console.log(err) });
const pdf = await page.pdf({
format: 'A4',
margin: {
left: '50px',
top: '50px',
right: '50px',
bottom: '50px'
}
});
await browser.close();
res.set({ 'Content-Type': 'application/pdf', 'Content-Length': pdf.length })
res.send(pdf)
} catch (err) {
console.log(err)
}
})()
});
当一切都在try/catch
块中时,为什么要说未处理的承诺?