JavaScript如何实现浏览器关闭前脚本暂停20秒的功能
JavaScript 实现浏览器关闭前等待20秒修改方案
首先你需要先加一个简单的等待工具函数,JS本身没有内置的等待方法,我们可以用Promise封装一个,放在你代码的最顶部即可:
const sleep = (delayMs) => new Promise(resolve => setTimeout(resolve, delayMs))
之后修改你的finally代码块,在调用browser.close()之前等待20秒即可(20秒对应20000毫秒),修改后的完整代码如下:
const sleep = (delayMs) => new Promise(resolve => setTimeout(resolve, delayMs)) (async () => { try { await page.goto('http://httpbin.org/ip'); const infos = await create_accinfos(browser, page); write_log(true, "Complete infos"); accounts.write(infos + "\n"); } catch(e) { console.log(e); } finally { write_log(true, "Done"); try{ // 新增等待20秒逻辑,你原有代码外层已经是async函数,可直接使用await await sleep(20000) browser.close(); } catch(e){}; } })();
代码运行到await sleep(20000)这一行时会自动暂停20秒,时间到了之后才会执行关闭浏览器的操作。
内容的提问来源于stack exchange,提问作者bryon
相关产品推荐
相关产品推荐

