• Promise.all() 多个接口并行调用


    Promise.all() 多个接口并行调用

    有些场景我们需要同时调用多个接口的数据,对数据进行处理并渲染到页面上,这个时候需要保证多个接口能够一起并行调用,而 Promise.all() 方法则满足了这个需求。

    Promise.all() 介绍

    关于 Promise.all() 方法的介绍直接看 MDN 官网

    Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型)的输入,并且只返回一个Promise实例, 那个输入的所有 promise 的 resolve 回调的结果是一个数组。这个Promise的 resolve 回调执行是在所有输入的 promise 的 resolve 回调都结束,或者输入的 iterable 里没有 promise 了的时候。它的 reject 回调执行是,只要任何一个输入的 promise 的 reject 回调执行或者输入不合法的 promise 就会立即抛出错误,并且 reject 的是第一个抛出的错误信息。

    下面是简单的 demo:

    const promise1 = Promise.resolve(3);
    const promise2 = 42;
    const promise3 = new Promise((resolve, reject) => {
      setTimeout(resolve, 100, 'foo');
    });
    
    Promise.all([promise1, promise2, promise3]).then((values) => {
      console.log(values);
    });
    // expected output: Array [3, 42, "foo"]
    

    语法

    Promise.all(iterable);
    

    iterable 代表一个可迭代对象,如 ArrayString

    想了解更多的用法请查看 MDN

  • 相关阅读:
    11.09_近期需要关注和学习的,,,
    11.08_
    11.04_晚
    11.04
    gitlab
    eos开发指南
    谷歌助记词
    solidity语法解读
    parity注记词和地址
    dice2win早期版本
  • 原文地址:https://www.cnblogs.com/CF1314/p/16349141.html
Copyright © 2020-2023  润新知