console.log(1)new Promise((resolve, reject) => { setTimeout(() => { // 标记flag resolve(false) }, 0)}).then(() => { console.log(2)}, () => { console.log(3)})console.log(4)此时代码输出是 1 4 2标记flag处是resolve(false), 不应该输出是 1 4 3 吗?
3 回答

侃侃无极
TA贡献2051条经验 获得超10个赞
then调用成功回调还是失败回调,是看调用的是resolve,还是reject,而不是看参数值
不然为什么Promise(function(resolve, reject))
要2个参数

慕桂英4014372
TA贡献1871条经验 获得超13个赞
resolve(false)
只是把false这个值传下去了呀,走的还是console.log(2)
如果是reject()
那就输出的是1 4 3
添加回答
举报
0/150
提交
取消