所以我有这个函数,试图调用多个函数以从每个函数中获取所有数据,我希望依次调用每个函数。问题是我仍然得到的结果是getAll()中的每个函数都没有顺序执行。有人知道应该怎么做吗?
_getALL = async () => {
await this.getA();
await this.getB();
await this.getC();
await this.getD();
}
功能之一:
getA() {
getUserA.list()
.then((res) => {
const responseData = res.data;
const Datas = responseData.map(b => ({
key: b.id,
name: b.name,
}));
this.setState({ users: Datas });
})
.catch((err) => {
console.log( err);
});
}
我刚刚开始学习如何使用此异步/等待方法。任何帮助将不胜感激
答案 0 :(得分:1)
我不确定,但是如果调用此函数时函数没有返回值,则此函数将等待任何时间,因此它将继续执行脚本。 尝试退货。
答案 1 :(得分:0)
await
仅适用于返回承诺的函数。您的getA
函数当前不返回任何内容,即undefined
。您可以通过添加return
来解决此问题,如下所示:
getA() {
return getUserA.list()
.then((res) => {
const responseData = res.data;
const Datas = responseData.map(b => ({
key: b.id,
name: b.name,
}));
this.setState({ users: Datas });
})
.catch((err) => {
console.log( err);
});
}