我们的Web应用规模比较大,会在后台(指的还是前端JS运行环境中)进行大量的计算。这就导致用户的操作,比如touch and move等,感觉到明显的卡顿。原因是Main Thread被后台进行js的代码占用了。我查了很多资料,看到Google的Web开发建议中,说要把每个JS任务的时长控制在50ms以内,并且尽可能多的给Main thread留出空闲时间,以便Main Thread可以去处理用户输入性操作。请问,我该如何控制一个方法运行多久啊?是把大的function写成多个小function?还是把for循环之类的改成多久执行一次?有没有相关的文章和教程可以学习?多谢各位
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
连续的运算时间不超过300ms, function 拆为多个小 function 没用, 你需要利用回调来拆分长时间的运算.
JS的单线程, 所以你可以通过定时器来把一个费时的运算拆分为好几段, 然后运算在不同时段的任务队列循环中
添加回答
举报
0/150
提交
取消