猿问

如何人为控制JS代码片段占用主进程(Main Thread)的时间?

我们的Web应用规模比较大,会在后台(指的还是前端JS运行环境中)进行大量的计算。这就导致用户的操作,比如touch and move等,感觉到明显的卡顿。原因是Main Thread被后台进行js的代码占用了。

我查了很多资料,看到Google的Web开发建议中,说要把每个JS任务的时长控制在50ms以内,并且尽可能多的给Main thread留出空闲时间,以便Main Thread可以去处理用户输入性操作。

请问,我该如何控制一个方法运行多久啊?
是把大的function写成多个小function?还是把for循环之类的改成多久执行一次?

有没有相关的文章和教程可以学习?

多谢各位


回首忆惘然
浏览 943回答 2
2回答

繁星点点滴滴

连续的运算时间不超过300ms, function 拆为多个小 function 没用, 你需要利用回调来拆分长时间的运算.JS的单线程, 所以你可以通过定时器来把一个费时的运算拆分为好几段, 然后运算在不同时段的任务队列循环中
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答