这是我正在使用的代码:
let myFirstPromise = new Promise((resolve, reject) => {
setTimeout(function(){
// alert("sdf");
resolve("Success!"); // Yay! Everything went well!
}, 200);
});
console.log(myFirstPromise);
另一个案例, 假设我将 200 更改为 2000, 现在
- 如果我在 2 秒之前展开,它始终显示待处理,即使您在 2 分钟后再次展开。
- 如果我在 2 秒后展开,它会显示已解决,之后也是如此。
为什么会这样?
最佳答案
您看到的第一行是从您返回 promise 时开始的。
此时其状态为pending
(因为尚未解决)并且没有解决值。
当您打开它时 - 开发工具会检查实时 promise - 这意味着它显示当前状态。由于您在超过 200 毫秒后按下了它 - 现在它已满足值“成功!”。
关于javascript - 为什么 promise 的记录值令人困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43110190/