为了账号安全,请及时绑定邮箱和手机立即绑定

使用 setTimeout() 进行长(~30 分钟)间隔的性能考虑

使用 setTimeout() 进行长(~30 分钟)间隔的性能考虑

跃然一笑 2021-12-23 10:41:13
我正在制作一个水提醒 Chrome 扩展程序,它会在通常很长的时间段内触发用户通知(最多可达 30 分钟),而且我猜 setTimeout 不是关于性能的最佳选择,所以我开始思考关于承诺,因为它们是在长时间内异步操作的,但效果不佳,所以您有什么想法吗?
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

我猜 setTimeout 不是性能方面的最佳选择

setTimeout()性能足够。没有关于性能的问题。

所以我开始考虑 promise,因为它们是在长时间内异步操作的

不,这不是 Promise 的目的。Promise 只是流量控制工具。它们可以帮助您在 (a) 等待结果时同时做多件事,但它们的性能并不比其他任何东西都神奇。他们也不会启动任何线程或类似的东西。

在这种情况下,我实际上会每秒启动一个间隔,将当前时间与应该在某个特定时间发生的任何预定事件进行比较。这样做的好处是浏览器可以重新启动,您可以从上次中断的地方继续,而不必担心setTimeout().


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 426 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号