Promise.allSettled

参考实现:Polyfill for Promise.allSettledopen in new window

Promise.allSettled = function (promises) {
  let mappedPromises = promises.map((p) => {
    return p
      .then((value) => {
        return {
          status: 'fulfilled',
          value,
        };
      })
      .catch((reason) => {
        return {
          status: 'rejected',
          reason,
        };
      });
  });
  return Promise.all(mappedPromises);
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

另可参考: