【发布时间】:2020-12-27 10:13:02
【问题描述】:
我知道 async/await 函数只返回一个 Promise,并且我需要添加一个 .then() 来使用该值更新变量或状态。但是在 React 应用程序中,它要求我执行 useEffect 然后更新状态。如果我返回一个格式化的对象如:{loading, error, data},是否可以这样直接访问:
const {loading, error, data} = fetchData()
如何允许从这样的函数直接访问对象:
async function foo(){
try{
const res = await api("/user/foo")
return {
loading:false,
error:false,
data: res.data
}
}
catch{
return trhow new Error()
}
}
【问题讨论】:
-
没有。您需要等待它或使用 then。
-
我不能在异步函数之外等待。如果我必须使用 then,那么在我的组件之外处理它的干净/好方法是什么,以便我可以直接调用结果并对其进行解构?
标签: reactjs asynchronous async-await