Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (节点:13276)未处理的PromisejectionWarning:错误:无法接受已处理的对话框_Javascript_Node.js_Testing_Puppeteer - Fatal编程技术网

Javascript (节点:13276)未处理的PromisejectionWarning:错误:无法接受已处理的对话框

Javascript (节点:13276)未处理的PromisejectionWarning:错误:无法接受已处理的对话框,javascript,node.js,testing,puppeteer,Javascript,Node.js,Testing,Puppeteer,(节点:13276)未处理的PromisejectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。在未处理的服务器上终止节点进程 承诺拒绝,使用CLI标志--未处理拒绝=严格 (见附件)。 (拒绝id:2) 大家好,在我调用这个函数两次之后,我从标题中得到了上面的警告: async function delete_page(page, page_id) { await page.goto('http://127.0.0

(节点:13276)未处理的PromisejectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。在未处理的服务器上终止节点进程 承诺拒绝,使用CLI标志
--未处理拒绝=严格
(见附件)。 (拒绝id:2)

大家好,在我调用这个函数两次之后,我从标题中得到了上面的警告:

async function delete_page(page, page_id) {
  await page.goto('http://127.0.0.1:3000/page/' + page_id,
    { waitUntil: 'domcontentloaded' });

  const navPromise = page.waitForNavigation();
  page.on('dialog', async function(dialog) {
    await dialog.accept();
  });
  await page.click("#delete-page-button");
  await navPromise;
}
我在这里调用函数delete_page():


我怎样才能摆脱这个警告?谢谢

错误是说你不能做两次

wait dialog.accept();
您这样做了两次,因为每次调用
delete\u页面
时都会注册一个新事件

您可以在
after
函数中执行此操作,而不是在
delete\u页面中执行此操作

page.on('dialog',异步函数(dialog){
等待对话框。接受();
});
您还可以使用
一次
函数,该函数将仅被调用。。。一旦但你需要确保每次通话都会有一个对话,这样你就不会有超过一次的注册

page.once('dialog',异步函数(dialog){
等待对话框。接受();
});

我知道,我已经考虑过这个解决方案,但是我还需要在其他测试中调用函数delete_page()。这是唯一的解决办法吗?增加了另一种可能性。
  after(async function() {
    this.timeout(0);
    await logout(page);
    await login(page, 'AdminTester', 'password');
    await delete_page(page, 'test');
    await delete_page(page, 'test2');
    await logout(page);
    await page.close();
  });