在reactJS中,如何等待一个API调用执行,然后调用下一个api

bxpogfeg  于 2023-03-08  发布在  React
关注(0)|答案(1)|浏览(370)

在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
        }
    });
};

但这两个电话都在赌如何按顺序进行。

zbdgwd5y

zbdgwd5y1#

await不起作用,因为没有声明返回值,因此它没有对await的承诺。如果将saveDefaultData函数更改为return MyApi.getInstance().saveSystemDefault();,它将等待承诺解析。异步函数需要正确等待返回值

相关问题