美文网首页
js实现for循环延迟

js实现for循环延迟

作者: 轰轰_9ccd | 来源:发表于2019-05-13 10:35 被阅读0次

    其实,阻塞作为js引擎的处理方式,我们最好不要想着解决“阻塞”,而是让我们想执行的代码,插入到“主线程”中。这么说比较不易理解,还是以上面的代码为例,直接上代码好了

for(vari = 0; i < 3; i++) {

    (function(i) {

        setTimeout(function() {

            console.log(i);

        }, (i + 1) * 1000);

    })(i)

}

      再上面的代码中,我们加了一个立即执行的匿名函数,并且将for循环的i作为实参传入进去。这样,setTimeout就会被立即执行,而不会等待(这里不太了解细节,就不多说了,大概猜测为新开了一个临时的线程,立即执行匿名函数,然后再立即切换回来)。

相关文章

  • js实现for循环延迟

    其实,阻塞作为js引擎的处理方式,我们最好不要想着解决“阻塞”,而是让我们想执行的代码,插入到“主线程”中。这么说...

  • js延迟加载的六种方式

    js实现延迟加载的几种方法,js的延迟加载有助与提高页面的加载速度 JS延迟加载,也就是等页面加载完成之后再加载 ...

  • 第十三节: JavaScript 定时器

    1. JS存在两种定时器 setTimeout() 延迟定时器setInterval() 循环...

  • 循环当中的匿名函数问题

    前言:从《原生JS实现轮播(上)》中JS实现渐变效果引出的循环中匿名函数的问题。 如果匿名函数里使用了循环变量,或...

  • js中的定时机制与函数节流

    js中常用setTimeout()和setInterval()创建定时器,实现延迟或定时执行。 定时机制 js是运...

  • js延迟执行与循环执行

    延迟一段时间执行特定代码: 循环执行:

  • 使用setTimeout实现setInterval的方法

    内部使用setTimeout延迟1000ms输出数据,并使用递归实现循环 简化版

  • CDD循环延时分集

    CDD是一种发射分集,通过对每个OFDM子载波进行不同的相位延迟(循环相位延迟)来实现。 CDD用于空间复用,空间...

  • JavaScript 04 (do...while循环/for

    js循环,js循环嵌套,js do...while循环,js的for循环,js中的break,js中的contin...

  • JavaScript补充

    01-延迟和异步加载JS 如何延迟加载JS:defer defer:js脚本可以延迟到文档完全被解析后执行 如何异...

网友评论

      本文标题:js实现for循环延迟

      本文链接:https://www.haomeiwen.com/subject/uxxlaqtx.html