木偶师投掷错误"UnhandledPromiseRejectionWarning"和崩溃



我想截图一个网页,但无论我做什么,木偶师总是崩溃

const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();  
await page.goto('https://www.google.com/'); 
await page.screenshot({path: 'screenshot/example.png'}); 
await page.waitFor(5 * 1000); 
await browser.close(); 
})();

我将上面的代码保存为web.js,并在cmd中执行节点web.js。Chrome窗口出现2秒钟后,它崩溃了,页面没有加载

(节点:27064(未处理的PromiseRejection警告:#(使用node --trace-warnings ...显示创建警告的位置((节点:27064(未处理的PromiseRejection警告:未处理的promise拒绝。此错误源于在没有catch块的异步函数内部抛出,或拒绝未使用.catch((处理的promise。要在未处理的prompt拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id:1((节点:27064([DEP0018]不推荐使用警告:不推荐使用未经处理的承诺拒绝。将来,未处理的promise拒绝将使用非零退出代码终止Node.js进程。

您必须在您的promise中添加一个错误处理程序
一旦你承诺的(在本例中是你的异步函数(抛出任何错误,它就会到达执行根,在nodejs中,这将导致应用程序"崩溃">
只需这样调用您的函数:

(async () => {
/* your code here */
})().catch(error => { console.error("Something bad happend...", error); });
``´

最新更新