如何从异步等待函数中获取 Promise<Array[]> 的 return 值?
How to get return value of a Promise<Array[]> from an Async-Await Function?
我正在尝试获取异步等待函数的 return 值,但我没有获得我需要的值。
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
});
};
如何在函数外部获取 async-await 函数的实际 return 值 Stuff[]
?我曾尝试使用 .then
获取数据,但数据的日志始终未定义,而 im returning 的 console.log(filteredStuff)
具有值。我有什么遗漏吗?
useEffect(() => {
filterStuff(BaseFilters).then((data) => {
console.log(data);
});
}, []);
您在 filterStuff 函数中缺少 return 语句
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
});
};
您没有返回指定地点。请参阅下面等待响应的更新代码。
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
}
};
我正在尝试获取异步等待函数的 return 值,但我没有获得我需要的值。
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
});
};
如何在函数外部获取 async-await 函数的实际 return 值 Stuff[]
?我曾尝试使用 .then
获取数据,但数据的日志始终未定义,而 im returning 的 console.log(filteredStuff)
具有值。我有什么遗漏吗?
useEffect(() => {
filterStuff(BaseFilters).then((data) => {
console.log(data);
});
}, []);
您在 filterStuff 函数中缺少 return 语句
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
});
};
您没有返回指定地点。请参阅下面等待响应的更新代码。
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
}
};