【发布时间】:2021-11-22 17:59:16
【问题描述】:
我目前正在学习异步 JavaScript,但我对如何获取 promise 返回的值感到困惑 我的代码:
let p = Promise.resolve("Passed")
let x = p.then(msg=>msg).catch(msg=>msg)
setTimeout(()=>console.log(x), 2)
console.log(x)
输出:
Promise { <pending> }
Promise { 'Passed' }
我怎样才能得到 .then 函数返回的字符串“Passed”,以及为什么即使 Promise 已解决,promise 仍处于挂起状态?但是当我们console.log它的值使用setTimeout函数时给出了它的值,以及如何从Promise { 'Passed' }获取"Passed"
【问题讨论】:
-
".then 函数返回的字符串 "Passed"" - 不,不是。
.then()返回一个承诺。执行console.loginsidethen回调
标签: javascript asynchronous promise es6-promise