前端开发Kingcean 2020-06-27
宏队列(dom事件,ajax,定时器)和微队列(promise);微队列先于宏队列执行。
setTimeout(() => {
console.log(1);
}, 0);
new Promise(resolve => {
console.log(2);
resolve() //resolve()函数执行了才会触发then里面的回调函数,不执行resolve()then回调函数不会执行的
}).then(() => {
console.log(3);
}).then(() => { console.log(4) })
console.log(5);const first = () => new Promise((resolve, reject) => {
console.log(3);
const p = new Promise((resolve, reject) => {
console.log(7);
setTimeout(() => {
console.log(5);
resolve(6) //p的状态已经是fulfilled,不会再执行resolve()函数
}, 0);
resolve(1)
})
resolve(2)
p.then(console.log) //then()是同步执行,把then()里面方法放入微队列中
})
first().then(console.log)
console.log(4);