js 等循环中所有接口响应完成再进行后续操作

js 等循环中所有接口响应完成再进行后续操作
最新回答
我不会写诗

2022-09-03 01:23:48

在 JavaScript 等语言中,要实现所有接口响应完成再进行后续操作,可以通过 Promise.all 来实现。

1. 首先,将每个接口请求封装成 Promise 对象。例如,使用 fetch 进行网络请求:
const promise1 = fetch('接口1地址');
const promise2 = fetch('接口2地址');
2. 然后,使用 Promise.all 将这些 Promise 包裹起来:
const allPromises = Promise.all([promise1, promise2]);
3. 最后,通过 allPromises 的 then 方法来处理所有接口响应完成后的操作:
allPromises.then((responses) => {
// responses 是一个包含所有接口响应结果的数组
// 在这里进行后续操作,比如处理响应数据
const response1Data = responses[0].json();
const response2Data = responses[1].json();
console.log('所有接口响应完成,开始后续操作:', response1Data, response2Data);
}).catch((error) => {
// 如果有任何一个 Promise 被拒绝,会进入这里
console.error('接口请求出错:', error);
});

这样就能确保所有接口响应完成后才执行后续操作。如果接口较多,可以将它们的 Promise 对象放入数组中,再传递给 Promise.all 进行处理。