/*
同步任务 -> 微任务 -> 宏任务
同步任务
微任务 reslove await resject(微任务里面的优先级是最低的)
宏任务
*/
console.log(1)
new Promise((reslove,resject) => {
console.log(2)
reslove(3)
})
.then(res => {
console.log(res)
})
.catch( err => {
console.log(res)
})
async function fn() {
console.log(6)
await 1
console.log(5)
}
fn()
console.log(4)
//执行完毕是1 2 6 4 3 5
const p = function() {
return new Promise((resolve, reject) => {
const p1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(1)
}, 0)
resolve(2)
})
p1.then((res) => {
console.log(res);
})
console.log(3);
resolve(4);
})
}
p().then((res) => {
console.log(res);
})
console.log('end');
/// 3 end 2 4
const mypromise = Promise.resolve(Promise.resolve('A'))
function one(){
mypromise.then(res => res).then(res => console.log(res,1))
setTimeout(() => console.log('B'),0)
console.log('C')
}
async function Two() {
const res = await mypromise
console.log(await res)
setTimeout( () => console.log('D'), 0)
console.log('E')
}
one()
Two()
//C A 1 A E B D