var p = Promise.resolve(2).then(() => {
console.log(2, p);
console.log(1);
return 3;
});
console.log(1, p);
从打印结果可以看出
console.log(1, p);
执行后[[PromiseValue]]: 3
但此时p的then方法中注册的回调函数还没执行呢,为什么返回值3就已经可以得到了?
有没有懂的朋友能帮助讲解一下,十分感谢...
var p = Promise.resolve(2).then(() => {
console.log(2, p);
console.log(1);
return 3;
});
console.log(1, p);
从打印结果可以看出
console.log(1, p);
执行后[[PromiseValue]]: 3
但此时p的then方法中注册的回调函数还没执行呢,为什么返回值3就已经可以得到了?
有没有懂的朋友能帮助讲解一下,十分感谢...
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
你把鼠标放在后面那个 “!” 上就可以看到为什么了。
下面打印出来的值是在你展开这个对象的时候计算的,并不是打印时的值。
你展开这个对象的时候,所有的运行都结束了。