2016-01-23 67 views
-1

我正在处理一个困难的错误,其中一个setInterval回调只被调用了20次或21次,然后再也没有,即使我从未清除过这个间隔。 (至少在Chrome中运行)浏览器在什么情况下拒绝继续调用setInterval回调?

页面保持响应状态,所以回调不会陷入无限循环。

如果浏览器执行时间太长,是否决定停止调用setInterval回调?例如,如果在setInterval回调中执行一些昂贵的画布绘制?

不幸的是,在这个问题(即React,Redux,自定义Redux中间件,Canvas绘图)中存在太多可能涉及的层来发布一个好的代码示例。我在询问现代浏览器中的setInterval的预期行为

编辑我想我可能会看到在浏览器的错误与帆布setInterval/setTimeout内画做。我无法在Firefox中重现。

+1

您如何验证间隔未被召回?你能提供一个链接,我们可以在这里看到并检查这种假定的失败? – Teemu

+0

不幸的是,这是在一个私人预发布产品。 – Andy

+0

即使我的CSS转换似乎停止工作,一旦间隔死亡。我想我可能正在处理Chrome中的一个错误。 – Andy

回答

1

setInterval文档来看,从标准行为“变异”的只有提起似乎是:

开始在壁虎5.0(火狐5.0 /雷鸟5.0/SeaMonkey的2.2),间隔钳位到在不活动的选项卡中每秒不超过一次。

+0

不幸的是,这不是问题。该标签处于活动状态。 – Andy

相关问题