js是单线程的。
异步任务,这里就以定时器举例。
当我执行到定时器的代码的时候,会把代码放到一个定时器模块,然后开始计时,到时间以后,就放到一个队列里面。当主线程的代码执行完成以后就把会队列里面的东西拿过来执行。
而不是我们理解的主线程的所有代码执行完成以后才开始计时。
定时器属于宏任务,promise属于微任务。
new Promise构造函数是同步任务。then是微任务。
new Promise(resoleve => {
console.log("Promise")
}).then( () => {
console.log("你好世界")
} )
https://www.bilibili.com/video/BV1eJ41177Rg?p=5&spm_id_from=pageDriver&vd_source=c31fddac3c868539bc5cec05fa168985