缓慢执行的代码是怎么写的,比如js是用setinterval吗?有更好的吗?

比如用js时一下子要处理几百张图片,如果直接用for的话会卡住很久,我想到用setinterval来代替for,但是正确的做法应该是什么?或者说这种缓慢执行的做法应该称为什么?

阅读 3k
2 个回答

1)在浏览器显示图片的情景下,很多情况你是不需要一下子处理那么多图片的,可以监听页面滚动,当图片需要显示到页面上的时候(图片位置在页面上可见的时候),在执行相应地处理,这就是Lazyload
2)使用setTimeout而不是setInterval函数来分片的处理图片,每次只处理一定的量,保证页面造成的延迟在可接受的范围内;处理完一批后,接着处理下一批~~
3)把复杂的运算交给worker线程去处理也是种方法

我看过一种处理大型for循环的,叫数组分块技术,将要处理的数据分成多个数组,用计时器一次处理一个数组。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题