为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

回首忆惘然 2018-07-23 21:43:51
我们的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的单线程, 所以你可以通过定时器来把一个费时的运算拆分为好几段, 然后运算在不同时段的任务队列循环中


查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 0 关注
  • 942 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信