T4
js
const first = ()=> (new Promise((resolve, reject) => {
console.log(3)
let p = new Promise((resolve, reject) => {
console.log(7)
setTimeout(() => {
console.log(5)
resolve(6)
}, 0)
resolve(1) // p立马成功
})
resolve(2) // first立马成功
p.then((arg) => { //执行 p 的回调函数
console.log(arg)
})
}))
first().then((arg) => {
console.log(arg)
})
console.log(4)
答案
js
3
7
4
1
2
5
- 注意这里没有输出 “6” 因为
p.then
已经执行了

- 注意
p
的回调比first
的先发生(.then
)