我有一个带有服务器请求的应用程序来检测何时发生了什么事情,此时它会对发生的事情设置倒计时。如果我在多个选项卡/设备上打开了应用程序,它们都会同时获得该事件,但它们的倒计时长度不同。有办法解决这个问题吗?
我在其他地方看到,如果选项卡处于活动状态,setInterval只调用该函数,$ interval的工作方式是否相似?所有标签似乎仍然在不活跃的情况下进行更新,只是稍微(5-10%)不同的费率。
我正在考虑而不是开始倒计时,应用程序保存当前日期,然后执行一个非常快的间隔,不断检查自该日期以来是否已经过了适当的时间,但这似乎是计算密集型的,尽管应用程序的其余部分是轻量级,这本身就不是问题。
间隔本身超快/简单:
countdownTimer = $interval(function () {
$scope.countdown--;
}, 1000);