多个请求 Promise.all 使用

       let len = 0;
       Promise.all(val.map((item, index) => {
          len++;
          return 请求方法(item); //查询列表对应的每一个数值
        })).then(res => {
          if (Number(len) == Number(val.length)) {
            console.log(res)
            //res就是请求成功后返回的数据
          }
        })

`Promise.all` 是JavaScript中的一个方法,它可以用来处理多个Promise的并发请求。当你有多个异步操作需要同时执行,并且希望等待所有这些操作都完成后再继续执行后续代码时,`Promise.all` 非常有用。 `Promise.all` 接收一个Promise对象的数组作为参数,返回一个新的Promise对象。这个新的Promise对象在所有的输入Promise都成功完成时才会被解决,并且返回的是一个结果数组,每个元素对应一个输入Promise的结果。如果任何一个输入的Promise失败,`Promise.all` 返回的Promise就会立即被拒绝,并且拒绝的原因是第一个失败的Promise的原因。 下面是使用 `Promise.all` 发送多个请求的一个例子: ```javascript // 假设我们有两个异步操作,分别是 fetch('url1') 和 fetch('url2') // 这里使用fetch来模拟异步请求,fetch返回的是一个Promise对象 let promise1 = fetch('url1'); let promise2 = fetch('url2'); Promise.all([promise1, promise2]) .then(function(results) { // 这里的results是一个数组,包含所有请求返回的结果 // results[0] 是第一个请求的结果,results[1] 是第二个请求的结果 console.log(results[0]); // 输出第一个请求的结果 console.log(results[1]); // 输出第二个请求的结果 }) .catch(function(error) { // 如果任何一个请求失败,这里的error将会是第一个失败请求的错误信息 console.error(error); }); ``` 使用 `Promise.all` 发送多个请求的好处包括: 1. 代码结构清晰,通过数组的方式管理多个异步请求,使得代码更加简洁。 2. 当所有请求都成功时,可以同时处理它们的结果,这在批量获取数据时非常有用。 3. 如果其中一个请求失败,可以立即得到通知,并进行错误处理,而不需要等到所有请求都结束后才知道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值