我試圖獲取異步等待函式的回傳值,但沒有得到我需要的值。
const filterStuff = async (filters) => {
//some code here
await client<StuffPagination>(endpoint,body)
.then((stuffresult)=>{
const {stuff,page} = stuffresult;
let fiteredStuff as Stuff[] = stuff;
console.log(filteredStuff);
return filteredStuff;
})
.catch(()=>{
//do something
})
.finally(()=>{
//do something
});
};
如何Stuff[]
在函式之外獲取 async-await 函式的實際回傳值?我曾嘗試使用.then
來獲取資料,但資料的日志始終未定義,而console.log(filteredStuff)
我回傳的值具有值。我有什么遺漏嗎?
useEffect(() => {
filterStuff(BaseFilters).then((data) => {
console.log(data);
});
}, []);
uj5u.com熱心網友回復:
您沒有在要求的地方回傳。請參閱下面等待回應的更新代碼。
const filterStuff = async (filters) => {
try {
//some code here
const stuffresult = await client<StuffPagination>(endpoint,body);
const {stuff,page} = stuffresult;
let fiteredStuff as Stuff[] = stuff;
console.log(filteredStuff);
return filteredStuff;
}
catch {
//do something
}
finally {
//do something
}
};
uj5u.com熱心網友回復:
您在 filterStuff 函式中缺少回傳陳述句
const filterStuff = async (filters) => {
//some code here
return client<StuffPagination>(endpoint,body)
.then((stuffresult)=>{
const {stuff,page} = stuffresult;
let fiteredStuff as Stuff[] = stuff;
console.log(filteredStuff);
return filteredStuff;
})
.catch(()=>{
//do something
})
.finally(()=>{
//do something
});
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/469317.html
標籤:javascript 反应 异步 异步等待
上一篇:為什么變數在選擇查詢中不起作用?