react 结合 Promise 和 async await 解决多个异步请求 后统一设置状态问题

现在需要解决以下问题:

我们有两个和多个前后端交互请求,我们需要在这两个请求都完成之后去让runder渲染,实现思路如下:

1、定义一个loading的state,给定初始值为true,在runder函数中,如果loading为true则直接返回

this.state = {
    loading: true
}

2、将两个或多个请求使用Promist.all([]),做并发处理。

3、然后使用async await 等待请求处理完成后将loading置为false。

实现代码如下:

getAsyncData() {
    return Promise.all([
        this.getCurriculumVitae(),
        this.growthPathDate()
    ])
}
async asyncFun() {
    await this.getAsyncData()
    this.setState({loading: false})
}

getCurriculumVitae() {
    return request.get('xxxx',{//这里必须使用return返回异步请求
    params: {
        //
    }
    }).then((resp:any) => {
        if(resp && resp.code == "200" && resp.data){
            this.setState({
                //
            })
        }
    })
}

growthPathDate = () => {
    return request.get('xxxx',{//这里必须使用return返回异步请求
        params: {
            //
        }
    })
    .then((resp:any) => {
        if(resp && resp.code == '200' && resp.data) {
            this.setState({
                //
            })
        }
    })
}