Promise all

Promise.all 是 JavaScript 中的一个方法,它接受一个包含多个 Promise 对象的可迭代对象(通常是数组),并返回一个新的 Promise 对象。这个新的 Promise 对象在传入的所有 Promise 对象都已经成功(resolved)时才会被成功,否则只要有一个 Promise 对象被拒绝(rejected),新的 Promise 对象就会被拒绝。

const request1 = fetch('https://api.example.com/endpoint1');
const request2 = fetch('https://api.example.com/endpoint2');
const request3 = fetch('https://api.example.com/endpoint3');

Promise.all([request1, request2, request3])
  .then(responses => {
    // 所有请求都成功
    // 处理 responses
  })
  .catch(error => {
    // 处理任何一个请求失败的情况
  });

在这个例子中,Promise.all 会并行发起三个请求,只有当所有请求都成功完成时,才会进入 .then 处理程序。如果其中一个请求失败,则会进入 .catch 处理程序。

使用 map 处理每个响应:

const request1 = fetch('https://api.example.com/endpoint1');
const request2 = fetch('https://api.example.com/endpoint2');
const request3 = fetch('https://api.example.com/endpoint3');

Promise.all([request1, request2, request3])
  .then(responses => {
    // 使用 map 处理每个响应
    const data = responses.map(response => {
      if (response.ok) {
        return response.json(); // 处理 JSON 数据
      } else {
        throw new Error('Request failed');
      }
    });

    // data 现在是一个包含每个响应处理结果的数组
    console.log(data);
  })
  .catch(error => {
    // 处理任何一个请求失败的情况
    console.error(error);
  });

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值