在reactJS中,如何等待一个API调用执行,然后调用下一个api。
在我的componentDidMount中,我正在检查数据长度。一旦长度超过4,在这种情况下,首先我想保存,然后我想检索。
componentDidMount = () => {
try {
MyApi.getInstance()
.count()
.then(async (data: any) => {
await this.saveDefaultData(); // await is not working
this.getData();
});
} catch (error) {}
}
this.saveDefaultData = () => {
try {
MyApi.getInstance().saveSystemDefault();
} catch (error) {}
};
this.getData = () => {
try {
MyApi.getInstance()
.getAllData()
.then((data: any) => {
// state update operation
.catch();
} catch (error) {
Error handling
}
});
};
但这两个电话都在赌如何按顺序进行。
1条答案
按热度按时间zbdgwd5y1#
await不起作用,因为没有声明返回值,因此它没有对
await
的承诺。如果将saveDefaultData
函数更改为return MyApi.getInstance().saveSystemDefault();
,它将等待承诺解析。异步函数需要正确等待返回值