对 Promises 有点鬼混,这是代码:
let prom1 = new Promise((res, rej) => {
res('res');
});
const resolvedProm1 = prom1.then((val) => {
return val
});
console.log(resolvedProm1);
let prom2 = new Promise((res, rej) => {
rej('rej');
});
const resolvedProm2 = prom2.catch((err) => {
return err
});
console.log(resolvedProm2);
chrome devtools 显示了有关 promise 的以下信息:
但是,我没想到这个特殊的输出。我期望的是以下内容:
<fullfilled>
Promises 而不是<pending>
. 为什么它们是待定的而不是完整的?在这两种情况下,承诺在解决之前打印。您发送到 promise 上下文中的内容将始终在您当前的调用堆栈展开后执行,因此控制台会首先运行直到函数结束。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句