【发布时间】:2016-04-05 08:06:34
【问题描述】:
以下是原生 Javascript 代码:
var first = Promise.resolve(1);
first.then((i)=>console.log(1))
当我在 Chrome 的控制台中检查 first 时,它显示其状态为“已解决”
> first
Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: 1}
但是,当我在 Chrome 的控制台中检查 first.then((i)=>console.log(1)) 时,它显示它的状态是“待定”
> first.then((i)=>console.log(1))
1
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
这让我感到困惑,因为我预计 first.then((i)=>console.log(1)) 的状态为 resolved,因为 then 方法中的回调已经执行并完成。
有人对此有想法吗?
【问题讨论】:
标签: javascript asynchronous promise ecmascript-6