我有一些 javascript/jquery 代码(用于内部网站),在大表上进行大量客户端处理。它运行有点慢,但没关系。
问题是它在运行它需要执行的循环时冻结了浏览器。这有两个不良影响:
- 处理微调器(一个动画 gif,但我也尝试了 spin.js 并且有同样的问题)冻结。
- 如果表中有足够的行,则循环需要很长时间并且浏览器会报告一个无响应的脚本
有没有一种方法可以在代码中添加某种“呼吸”语句,这样每(比如)100 次迭代,它就会暂停以让微调器旋转并且浏览器知道脚本仍在处理它?类似(伪代码):
for (i=0;i<20000;i++)
{
fnProcessRow();
if (i % 100 == 0) breath();
}