通过setTimeout来取消因大量计算造成的网页卡顿

js是单线程的,所以有些大量计算的操作会占用线程资源,导致页面卡住。

今天遇到这样一个场景,选择一个下拉框之后,对数据进行筛选,这个过程中有大量计算,点了selecte的option之后,option不隐藏,一直卡在那里,直到筛选计算完成。

这个体验非常差,于是想,能不能接触当前线程的占用,让交互看起来流畅些?

试着用刚刚触发的时候显示一个loading,然后用   setTimeout(func,0),  把计算的操作放到线程任务队列末尾,这样做果然页面操作不再卡顿了

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。