```
var p1 = Promise.resolve(42);
var p2 = new Promise((resolve, reject) => setTimeout(() => resolve(43), 100));
var v3 = 44;
var p4 = new Promise((resolve, reject) => setTimeout(() => reject('oops'), 10));
//有一个被拒绝则整体被拒绝
Promise.all([p1, p2, v3]).then(data => console.log(data)); //[42, 43, 44]
Promise.all([p1, p2, v3, p4])
.then(data => console.log(data), err => console.log(err)); //oops
Promise.race([p2, p1, v3]).then(data => console.log(data)); //42
Promise.race([p2, p4])
.then(data => console.log(data), err => console.log(err)); //oops
```
Promise.all([])将会立即完成(没有完成值),Promise.race([])将会永远挂起。
- 你不知道的JS上
- 第一部分 第三章 函数作用域和块作用域
- 第一部分 第四章 提升
- 第一部分 第五章 闭包
- 第二部分 第一章 关于this
- 第二部分 第二章 this全面解析
- 第二部分 第三章 对象
- 第二部分 第五章 原型
- 第二部分 第六章 行为委托
- 你不知道的JS中
- 第一部分 第二章 值
- 第一部分 第三章 原生函数
- 第一部分 第四章 强制类型转换
- 第一部分 第五章 语法
- 第二部分 第一章 异步
- 第二部分 第三章 Promise
- 第二部分 第四章 生成器
- 第二部分 第五章 性能
- 你不知道的JS下
- 第一部分 总结
- 第二部分 第二章 语法
- 第二部分 第三章 代码组织
- 第二部分 第四章 Promise
- 第二部分 第五章 集合
- 第二部分 第六章 新增API
- 第二部分 第七章 元编程
- 第二部分 第八章 ES6之后