const promise = new Promise((resolve, reject) => {
console.log(1)
resolve()
console.log(2)
})
promise.then(() => {
console.log(3)
})
console.log(4)
问: 输出顺序。。。。
const promise = new Promise((resolve, reject) => {
console.log(1)
resolve()
console.log(2)
})
promise.then(() => {
console.log(3)
})
console.log(4)
问: 输出顺序。。。。
1
2
4
3
原因:promise
一旦建立立即执行,所以首先打印 1 2
因为promise.then()
异步执行,会进入任务队列,等待主线程任务执行完后才执行
所以先打印4
,最后打印3
所以最终结果为
1
2
4
3
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
正确输出: 1,2,4,3
解释:Promise 构造函数是同步执行的,promise.then 中的函数是异步执行的。