数据可视化_WEB前端让前端飞

20181116 事件循环

2018-11-16  本文已影响0人  Aaron_Alphabet

阮一峰精品文章 《JavaScript 运行机制详解:再谈Event Loop》
http://www.ruanyifeng.com/blog/2014/10/event-loop.html

~~ 时隔一年之后再次看的,写了个例子,感觉更加直观了,分享看看

    const main = () => {
      console.log('------main-for---');
    };
    const time = () => `Date.now()-->${ Date.now()} ,performance.now()-->${performance.now()}`;

    const arr = [];
    // 下面这些的顺序是随意写的
    let count = 0;
    let t = setInterval(function () {
      if (count > 1) {
        clearInterval(t);
      }
      count++;
      console.log(time(), '----setInterval----', arr)
    }, 1);
    setTimeout(function () {
      console.log(time(), '----timeout----', arr)
    }, 0);
    requestAnimationFrame(function () {
      console.log(time(), '----requestAnimationFrame----', arr);
    });
    process.nextTick(function () {
      console.log(time(), '----process.mextTick----', arr);
    });
    setImmediate(function () {
      console.log(time(), '----setImmediate----', arr);
    });
    Promise.resolve(1).then(function (v) {
      console.log(time(), '----Promise.resolve----', arr);
    });

    for (let i = 1; i < 100; i++) {
      main();
      arr.push(i);
    }
    console.log(time(), '---main-end--');
控制台输出_20181116145637.png

代码终究从手中来,骚年们,动起来 ♪(*)
好察非明,能察能不察之谓明;必胜非勇,能胜能不胜之谓勇。 ----《菜根谭》

上一篇 下一篇

猜你喜欢

热点阅读