Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);

如果参数中  promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。

官网例子:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

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

如果有一个是reject则失败

var promise1 = Promise.resolve();
var promise2 = reject();
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, , 'foo');
}); Promise.all([promise1, promise2, promise3]).then(function(values) {
console.log(values);
}).catch(()=>{
console.log(err);
}) 结果:Error: reject is not defined

finally() 方法返回一个Promise。在promise结束时,无论结果是fulfilled或者是rejected,都会执行指定的回调函数。这为在Promise是否成功完成后都需要执行的代码提供了一种方式。
这避免了同样的语句需要在then()catch()中各写一次的情况。
p.finally(onFinally);

p.finally(function() {
// 返回状态为(resolved 或 rejected)
});

最新文章

  1. VB.net中Ajaxpro的使用
  2. Webwork 学习之路【02】前端OGNL试练
  3. 个性二维码开源专题<替换元素点>
  4. GNUPLOT画图工具
  5. VGG_19 train_vali.prototxt file
  6. bootstrap在jsp中怎么没有效果?
  7. Oracle索引扫描算法
  8. Android 测试工具集01
  9. 正则表达式入门案例C#
  10. springboot项目上传文件出现临时文件目录为空
  11. Powershell-远程操作
  12. PHP的openssl_encrypt方法的Java实现
  13. one list to muti list
  14. Python全栈之路----常用模块----序列化(json&pickle&shelve)模块详解
  15. java String正则表达式
  16. Leetcode刷题第20天
  17. tensorflow读取本地MNIST数据集
  18. 【2019北京集训六】路径(path) 二分+DP
  19. linux下软件包管理
  20. 关于Mysql5.6半同步主从复制的开启方法【转】

热门文章

  1. (五)Unity插件生成
  2. unity message
  3. SpringBoot整合MybatisPlus3.X之逻辑删除(三)
  4. Dockerfile 定制镜像
  5. 第一篇:版本控制git之仓库管理
  6. Element-ui-安装
  7. 初始bat命令
  8. HTML5部分基础知识
  9. 「考试」num (破800纪念)
  10. NOIP模拟 32