【发布时间】:2015-05-22 14:31:31
【问题描述】:
我的一个 javascript 函数正在处理数百万个数据,它在硬件事件中每秒被调用约 1 次。然后网络浏览器在该函数处理中处于空闲状态。
我试图为运行(或不运行)该功能设置一个标志:
if (!is_calculating)
is_calculating = true;
else
return;
my_function(); // do heavy stuff
is_calculating = false;
但它不起作用,因为它正在输入代码并且网络浏览器进入空闲状态,直到完成。当它返回时,标志总是 OK,因为它完成了 // 做繁重的事情
我可以为这种行为做些什么吗?如果设置了标志,我想跳转函数执行。
【问题讨论】:
-
您的问题不清楚。您的函数究竟是如何调用“~1 time per second”的?
-
我很抱歉。我更改了代码。它由移动 GPS 事件调用。
-
你在问如何异步调用你的函数?
-
您是否试图避免浏览器 UI 因计算繁重而挂起和冻结?
标签: javascript performance cross-browser