You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何控制JS Promise流程:单Promise完成与全Promise完成的分支执行

最优解决方案

直接同时发起两个请求并保存各自的Promise实例,分别绑定对应的回调逻辑即可,完全无需重复请求:

// 同时触发两个接口请求,保存对应的Promise对象
const req1 = axios.get(endpoint1);
const req2 = axios.get(endpoint2);

// 第一个请求完成后立刻执行function1
req1.then(res => {
  // 可根据需要处理endpoint1的响应数据
  function1(res.data);
});

// 等待两个请求全部完成后执行function2
Promise.all([req1, req2]).then(([res1, res2]) => {
  // 这里可以同时拿到两个接口的响应结果
  function2(res1.data, res2.data);
});

逻辑说明

  • 两个请求是同时发起的,不会产生不必要的等待;
  • req1的then回调会在endpoint1响应后立即执行,完全不依赖endpoint2的状态;
  • Promise.all会自动等待两个请求都完成后,再执行function2的逻辑,确保依赖双接口数据的组件能正确加载;
  • 全程仅发起一次请求,无冗余操作,完美匹配需求。

内容的提问来源于stack exchange,提问作者LattePrincess

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:20:01