1.
setTimeout(()=>{
console.log('setTimeout')
})
let p1 = new Promise((resolve) => {
console.log('Promise1')
resolve('Promise2')
})
p1.then((res) => {
console.log(res)
})
console.log(1)
同步优先,异步靠边
setTimeout 和 then 方法都是异步 先不看
resolve('Promise2') 的函数是
.then((res) => {
console.log(res)
})
所以,是 Promise1 1 Promise2 setTimeout
.then((res) => {
console.log(res)
}) 里的 res 是形参,实参是 Promise2
2.
new Promise(resolve => {
console.log(1);
resolve(3);
Promise.resolve().then(()=>console.log(4))
}).then(num => {
console.log(num)
})
console.log(2)
顺序:1,2,4,3 不是 1,2,3,4
输出1