我正在制作一个水提醒Chrome扩展程序,该扩展程序通常在很长的一段时间(最多可以达到30分钟)内触发用户通知,而且我想setTimeout并不是性能方面的最佳选择,因此我开始考虑诺言,因为它们可以长时间异步运行,但是效果也不好,所以您有什么想法吗?
事先感谢。
答案 0 :(得分:0)
我想setTimeout并不是性能方面的最佳选择
setTimeout()
足够出色。性能没有问题。
所以我开始考虑诺言,因为它们可以长时间异步运行
不,那不是Promise的目的。承诺仅仅是流量控制工具。它们可以在您等待结果的同时帮助您一次完成多项任务,但是它们的性能却比其他任何事物都神奇。他们也不会启动任何线程或类似的线程。
在这种情况下,我要做的实际上是开始一个每秒间隔,该间隔将当前时间与应该在某个特定时间发生的任何计划事件进行比较。这样做的好处是可以重新启动浏览器,并且可以从上次中断的地方继续浏览,而不必担心setTimeout()
的系统管理上下文。