先写类型
type IAll = (promises: Promise<any>[]|any[]) => Promise<any[]>;
简单来说就是这是一个把一组 promise 转换成一个 promise 的方法,最会 Promise 的 resolve 时机是最后一个执行完成,reject 时机是只有一个有错就报错。
- 通过 count 来记录 promise 是哪一个,如果和数组长度相等说明是最后一个,抛给外层的 resolve
- 在执行每个小 promise 时,如果发生错误就抛给外层的 reject
1.1 扩展运算符(...)
虽然平时用的比较多,但是对这个定义忘了,
- ... 允许在期望零个或多个参数或元素的位置上展开可迭代对象
扩展运算法是和可迭代对象(类数组)相关的,一些常见的类数组有
- 字符串,set,和 nodelist