热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

定时器进修:应用定时器剖析耗时使命案例

关于执行时候太长的剧本,有的浏览器会弹出正告,说页面无相应。有的浏览器会直接停止剧本。总而言之,浏览器不愿望某一个代码块长时候处于运转状况,由于js是单线程的。一个代码块长时候运转

关于执行时候太长的剧本,有的浏览器会弹出正告,说页面无相应。有的浏览器会直接停止剧本。总而言之,浏览器不愿望某一个代码块长时候处于运转状况,由于js是单线程的。一个代码块长时候运转,将会致使其他任何使命都必须守候。从用户体验上来讲,很有可能发作页面衬着卡顿或许点击事宜无相应的状况。

假如一段剧本的运转时候凌驾5秒,有些浏览器(比方Firefox和Opera)将弹出一个对话框正告用户该剧本“没法相应”。而其他浏览器,比方iPhone上的浏览器,将默许停止运转时候凌驾5秒钟的剧本。–《Javascript忍者秘笈》

Javascript忍者秘笈里有个很好的比方:页面上发作的各种事变就好像一群人在议论事变,假如有个人一向在说个不断,其他人一定不乐意。我们愿望有个裁判,定时的切换其他人来讲话。

Js应用定时器来剖析使命,症结点有两个。

  1. 按什么维度去剖析使命
  2. 使命的现场保留与现场恢复
例子

请求:动态建立一个表格,一共10000行,每行10个单元格

一次性建立













统共耗时180ms, 浏览器已给出正告![Violation] 'setTimeout' handler took 53ms

《定时器进修:应用定时器剖析耗时使命案例》

分批次动态建立













此次异步按批次建立,没有耗时的正告。由于掌握了每次代码在50ms内运转。实际上每80行耗时约10ms摆布。这就不会引发页面卡顿等题目。

《定时器进修:应用定时器剖析耗时使命案例》


推荐阅读
author-avatar
拉扯作乱_991
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有