首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >browser.alarms.create与WebExtensions中的setTimeout/setInterval有什么不同?

browser.alarms.create与WebExtensions中的setTimeout/setInterval有什么不同?
EN

Stack Overflow用户
提问于 2018-11-11 15:29:34
回答 2查看 1.6K关注 0票数 7

我正在为浏览器创建一个WebExtension。所以我发现了browser.alarms API的事。它基本上允许您设置一个(重新发生或一次)警报,并将触发回调。

现在,我们在JavaScript中有这样一个特性已经有很长时间了,比如在setTimeoutsetInterval中。那么,与这些的区别是什么?为什么或者在什么情况下,我可能更喜欢而不是其他

我的意思是,主要的区别是显而易见的:你只能在几分钟内,而不是几秒钟内重新启动它。虽然,我认为使用when,您也可以取消注册和重新注册它的毫秒精度,但我认为API可能是为了更长的时间,即分钟。(我只是在猜测。)那么,为什么我要使用它而不是简单的setInterval/setTimeout回调呢?

EN

回答 2

Stack Overflow用户

发布于 2020-11-15 13:14:48

除了已发布的内容外,警报API似乎更可靠:

  • 如果你在过去设置了警报器,它就会马上开火。
  • 如果你设定了未来的约会,而你的电脑在这个日期之后从冬眠中醒来,它就会在醒来后立即启动。
  • 如果你从现在开始设置8小时,不管你的电脑在这段时间里休眠了多长时间,它都会在8小时内启动(如果你的电脑打开)。

请参阅https://discourse.mozilla.org/t/how-reliable-are-alarms/40978/8?u=rugkx,感谢Mozilla社区的朱拉杰·马西尔

票数 3
EN

Stack Overflow用户

发布于 2018-11-11 15:41:10

引用关于MDN的文档

这与setTimeout()和setInterval()类似,只不过这些函数不能处理按需加载的后台页面。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53250235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档