Skip to content
On this page

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已经执行了
image-20230705182010264
  • 注意p的回调比first的先发生(.then