| 1234567891011121314151617181920212223242526 |
- export function allPromiseFinish(promiseList) {
- let hasError = false;
- let count = promiseList.length;
- const results = [];
- if (!promiseList.length) {
- return Promise.resolve([]);
- }
- return new Promise((resolve, reject) => {
- promiseList.forEach((promise, index) => {
- promise.catch(e => {
- hasError = true;
- return e;
- }).then(result => {
- count -= 1;
- results[index] = result;
- if (count > 0) {
- return;
- }
- if (hasError) {
- reject(results);
- }
- resolve(results);
- });
- });
- });
- }
|