Promise 事件机制

执行循序 setTimout和promise

这里我们先要理解js是是单线程执行的。在内存中函数的执行是分同步和异步的。

同步任务会放在主线程中一一执行,而异步任务会先注册到事件队列里。等待主线程任务执行完毕,才会去异步队列里拿出任务放在主线程中去执行。

这里还有俩个概念要去理解,宏事件微事件。

宏事件: script, setTimeout,setInterval

微事件:promise

这里还要多说一句promise是立即执行的函数

setTimeout(function() {        console.log(1)    }, 0);            

new Promise(function(a, b) {                

console.log(2);

for(var i = 0; i < 10; i++) {                    

    i == 9 && a();                

}                

console.log(3);            

}).then(function() {                

    console.log(4)            

});            

console.log(5)

//输出:2,3,5,4,1

先执行宏事件,再执行微事件,然后再执行宏事件,再执行微事件,如此循环下去..

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 1,513评论 0 1
  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 7,832评论 1 56
  • 本文适用的读者 本文写给有一定Promise使用经验的人,如果你还没有使用过Promise,这篇文章可能不适合你,...
    HZ充电大喵阅读 6,519评论 6 19
  • 早上迷糊着醒来,躺在床上寻思这是哪月哪天(哪年还是知道的),突然想起昨晚在同学群里大家抢红包挣初二回娘家的油费,顿...
    晶晶亮的沙子阅读 677评论 0 1
  • 第三步 尽管我们的拆机工程师希望能尽快着手拆机工作,我们还是花了一点时间完整测试了下S pen。 第一印象:S P...
    Justin_Zhai阅读 500评论 0 0