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

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

你可能感兴趣的:(Promise 事件机制)