我正在为浏览器创建一个 WebExtension。所以我发现了the browser.alarms API .它基本上允许您设置(重复发生或一次性)警报,并将触发回调。
现在,我们已经在 JavaScript 中拥有这样一个特性 this 很长一段时间了,就像在 setTimeout
中一样。和 setInterval
.所以有什么区别对这些?为什么或在什么情况下我更喜欢 一个比一个 ?
我的意思是主要区别很明显:您只能重新启动它,例如在几分钟内,而不是几秒钟。虽然,我认为 when
您也可以以毫秒精度取消注册并重新注册它,但我认为 API 可能适用于更长的时间,即几分钟。 (我只是在这里猜测。)
那么我为什么要使用它而不是简单的 setInterval
/setTimeout
打回来?
最佳答案
解决方法:向后台脚本发布一条消息,以便它设置计时器并在完成后发送响应。
"persistent": false
的那些)在卸载之前不会等待 setTimeout/setInterval 由于不活动并且不会为这样的计时器唤醒,因此您只能在很短的时间内使用它们(当前事件页面保证存活 5 秒)。 在这些指定的限制内,您可以安全地使用 setTimeout/setInterval。
关于javascript - WebExtensions 中的 browser.alarms.create 与 setTimeout/setInterval 有何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250235/