如何从 Promise 对象获取结果?
How to get Result from a Promise object?
使用 returns Promise 对象的功能,如屏幕截图所示。如何从这个对象中获取 PromiseResult?
您可以像这样使用 .then() 来获得承诺的结果:
functionThatReturnsPromise().then((result) => {
//do something with result
})
.catch(console.error)
另一种选择是像这样使用 async
和 await
:
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))
使用 returns Promise 对象的功能,如屏幕截图所示。如何从这个对象中获取 PromiseResult?
您可以像这样使用 .then() 来获得承诺的结果:
functionThatReturnsPromise().then((result) => {
//do something with result
})
.catch(console.error)
另一种选择是像这样使用 async
和 await
:
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))