js 多个异步方法同步请求,等所有请求都完成后在执行。vue 请求多个接口一起返回 电脑版发表于:2024/8/16 14:53 **用Promise.all就行了, 比如:** ``` return Promise.all([ ac.getEvalData(), ac.getLabData(), ac.getProdData() ]) ``` **等待多个接口请求返回后在执行的逻辑可以这样写:** ``` return Promise.all([ ac.getKeyFocusLabRoomTeacher(), ac.getKeyFocusEvalTeacher(), ]).then((res: any) =>{ console.log("接口请求的数据都回来了",res) }) ``` 方法里边就是请求的接口 ``` const ac = { getKeyFocusLabRoomTeacher: function () { return Http.get('/labroom/api/TeacherMiniProgram/GetKeyFocusTeacher', { StdetailID: state.stid, IncludeAll: false }).then((res: any) => { console.log("实验老师重点关注数据:", res) state.teachingDynamics = res.data }) }, getKeyFocusEvalTeacher: function () { return Http.get('/evaluation/api/Report/GetWarningClassCourseListByTeacher', { STID: state.stid }).then((res: any) => { console.log("评估老师重点关注数据:", res) // state.teachingDynamics = res.data }) } } ``` 这样写的话Promise.all里边的then是拿不到这两个请求的返回值的,还要单独处理一下,不过这两个接口都有独立的数据赋值,这样其实也可以在Promise.all的then里边去一起处理数据,其实就是需要那一个时间点,就是多个接口请求完成之后的一个时间点。