如何从 Promise 对象获取结果?

How to get Result from a Promise object?

使用 returns Promise 对象的功能,如屏幕截图所示。如何从这个对象中获取 PromiseResult?

您可以像这样使用 .then() 来获得承诺的结果:

functionThatReturnsPromise().then((result) => {
  //do something with result
})
.catch(console.error)

另一种选择是像这样使用 asyncawait

async function main() {
  const result = await functionThatReturnsPromise()
  // do something with result
}

main().then(console.log).catch(console.error)

如果您的环境或编译器支持 top-level await,您可以像这样跳过 main 包装函数:

try {
  const result = await functionThatReturnsPromise()
  // do something with result
}
catch (err) {
  console.error(err)
}

永远记得catch.catch否则你会遇到Unhandled Promise Rejection.

您需要使用 .then() 函数 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

yourFunction().then((result) => {
  console.log(result);
});

如果您 运行 在浏览器中使用此代码,您会得到相同的结构:

function createPromise(){
    return new Promise((resolve)=>{
        resolve([{value:{},label:'Malmo'}])
    })
}

const rta = createPromise()
rta

要获取其数据,您可以执行以下操作:

rta.then(array => console.log(array[0].label))