promise.all()该方法用于将多个Promise实例,包装成一个新的Promise实例。

var p = Promise.all([p1,p2,p3]);

(1)只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数。
(2)只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。

请看下面示例:需要注意的是,promise.all()成功时,在then(result)中result是个数组

let p1 = new Promise((resolve, reject) => {resolve('成功了')
})let p2 = new Promise((resolve, reject) => {resolve('success')
})let p3 = Promise.reject('失败')Promise.all([p1, p2]).then((result) => {console.log(result)               //['成功了', 'success']
}).catch((error) => {console.log(error)
})Promise.all([p1,p3,p2]).then((result) => {console.log(result)
}).catch((error) => {console.log(error)      // 失败了,打出 '失败'
})

promise.all的用法讲解。相关推荐

  1. pythonlower函数_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...

  2. python中的set和dict_Python中dict和set的用法讲解

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  3. Promise:Promise.all、Promise.race、Promise.any的用法及区别

    在项目开发过程中经常需要通过异步编程来实现功能,此时就需要我们了解Promise. Promise Promise 是异步编程的一种解决方案,比传统的解决方案回调函数和事件更合理和更强大. 有了Pro ...

  4. python列表split_Python-split()函数实例用法讲解

    在Python中,split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来. split函数用法 split(sep= ...

  5. isnull mysql_mysql isnull用法讲解

    mysql isnull用法讲解 MySQL 可以使用 ISNULL() 函数.不过它的工作方式与微软的 ISNULL() 函数有点不同. 我们先来看几个is null sql用法: select * ...

  6. linux文件权限umask,linux系统中UMASK权限的用法讲解

    原标题:linux系统中UMASK权限的用法讲解 umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限. 这里要说明两点: 1.针对目录来说x权限代表可以进入该目录,所以说对于这个权限初 ...

  7. 6s在c语言中的用法,C语言中assert的用法讲解

    assert是指编写代码时做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式.下面是小编为大家整理的C语言assert的用法讲解,欢迎参考~ assert宏的原型定 ...

  8. es6 Promise 的基本用法

    Promise 的基本用法 ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个Promise实例. const promise = new Promise ...

  9. MySQL中replace主键_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

最新文章

  1. 操作主机 RID matser[为企业维护windows server 2008系列七]
  2. 论大型信息系统集成项目的成本管理
  3. lotus表单域怎么获取视图结果_翻译案例 | 商业推广类文章怎么翻?如何修改译文?...
  4. select及触发方式,select监听多链接,select与epoll的实现区别
  5. 那些我希望在一开始使用 Zsh(oh-my-zsh) 时就知道的
  6. 后端技术:SpringBoot 中实现跨域的5种方式
  7. Codeforces Round #670 (Div. 2)
  8. JSF组件库–质量不只是零缺陷
  9. 动态规划求解疯狂的采药问题(洛谷P1616题题解,Java语言描述)
  10. Bootstrap-组件-2
  11. 程序包java.awt不存在_IDEA解决Java:程序包xxxx不存在的问题
  12. Java大厂面试题:从 JVM 角度说进程和线程之间的关系
  13. 「ng2」json组装和解析
  14. 拓端tecdat|R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数
  15. 解决安卓的permission denied for this window type问题
  16. testNg官方文档
  17. Websocket Session 共享解决
  18. 视频文件转gif图片Movie To GIF使用
  19. loadrunner支持的浏览器版本
  20. SAS硬盘-神级高性能硬件盘点

热门文章

  1. type=“module“ 你了解,但 type=“importmap“ 你知道吗
  2. 全局异常处理-dao-service-controller-gateway网关工程-集中处理token-登陆模块-获取用户信息-ThreadLocal-组件-项目环境推荐-swagger-knif转发
  3. usb相关资料整理(四)
  4. vue 中使用 cesium
  5. Java篇第七回——内部类与异常类
  6. CVE-2020-1971: OpenSSL 拒绝服务漏洞通告
  7. Qt下QTableWidget 基本用法
  8. matlab simulinK笔记06——代数环
  9. HTMLlesson1.1
  10. JavaScript 随机正数或负数