【问题标题】:NodeJS Puppeteer add timeout to waiting for specific requestNodeJS Puppeteer 添加超时以等待特定请求
【发布时间】:2021-06-27 02:20:15
【问题描述】:

基本上我有一段代码正在等待,直到在 puppeteer 中完成特定请求,如下所示:

page.on('response', async (response) => {
      const request = response.request();
      if (request.url().includes('specificurl.com')){
          console.log(response);
      }
});

但是,我想添加 120000 毫秒的超时,以便如果在 2 分钟内未找到我的特定请求,它会引发超时。这可能吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: node.js timeout puppeteer


    【解决方案1】:

    可能是这样的:

    await Promise.race([
        new Promise((resolve, _) => {
            page.on('response', async (response) => {
                const request = response.request();
                if (request.url().includes('specificurl.com')) {
                    console.log(response);
                    resolve();
                }
            });
        }),
        new Promise((_, reject) => {
            setTimeout(reject, 120000, new Error('Timeout'));
        }),
    ]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 2021-05-25
      相关资源
      最近更新 更多