node.js - NodeJS Puppeteer 添加超时以等待特定请求
问题描述
本质上,我有一段代码正在等待,直到在 puppeteer 中完成特定请求,如下所示:
page.on('response', async (response) => {
const request = response.request();
if (request.url().includes('specificurl.com')){
console.log(response);
}
});
但是,我想添加 120000 毫秒的超时,这样如果在 2 分钟内未找到我的特定请求,它就会引发超时。这可能吗?
任何帮助,将不胜感激!
解决方案
也许是这样的:
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'));
}),
]);
推荐阅读
- c++ - 调用在 hxx 文件中声明的静态数据成员
- r - 如何创建一个新变量来标识另一个变量更改符号的行?
- g1ant - 当我在 G1ANT RPA Studio 上运行 Ui 插件时显示一些错误
- java - 为什么 Flowable.subscribe(Subscriber) 不返回 Disposable?
- jmeter - Jmeter远程启动:JRMP连接建立期间出错;
- python - 基于组的另一列中的值在一个列上创建值
- woocommerce - Woocommerce 在产品目录中显示含税和不含税价格
- java - Is there any way to create viewmodel object in application class?
- php - Woocommerce - 购物车页面 - 当购物车更新为新数量时,我希望能够通过总计
- swift - 如何在 popToRootViewController 之后显示警报