我正在尝试调用外部服务。该调用似乎成功完成,但返回的只是一个Promise,如果我访问属性,它将返回另一个Promise。希望有其他人看到我做错了什么(我是第一次编写React的Java开发人员)。
function retrieveUserProfile() {
const result = API.fetchProfile({
include: 'field1, field2',
});
return result;
}
let userProfile = retrieveUserProfile()
.then((result) => {
return result.data;
})
userProfile
又是一个承诺。有什么想法吗?如果你需要更多的上下文,请告诉我。
1条答案
按热度按时间bxgwgixi1#
JavaScript中的承诺是包含已解决、已拒绝或待定值的框。
它们只能通过
.then()
(对于解析值)或.catch()
(对于拒绝值)方法访问。从它们中的任何一个返回值都将创建一个包含新值的新承诺框。
不使用
then()
访问该值是不可能的,因为解析的值可能只存在于将来。JavaScript承诺使用语法糖来处理promise:异步/等待
但是这将 Package 函数变成了Promise,因为需要用
async
标记任何使用await
的函数: