1. {
    2. Promise.all([
    3. Promise.reject({
    4. code: 500,
    5. msg: "服务异常",
    6. }),
    7. Promise.resolve({
    8. code: 200,
    9. data: ["1", "2", "3"],
    10. }),
    11. Promise.resolve({
    12. code: 200,
    13. data: ["4", "5", "6"],
    14. }),
    15. ])
    16. .then((res) => {
    17. console.log(res);
    18. })
    19. .catch((err) => {
    20. console.log(err); // { code: 500, msg: '服务异常' } 
    21. });
    22. }
    23. {
    24. // 无论结果是 fulfilled 还是 rejected, 无需 catch
    25. Promise.allSettled([
    26. Promise.reject({
    27. code: 500,
    28. msg: "服务异常",
    29. }),
    30. Promise.resolve({
    31. code: 200,
    32. data: ["1", "2", "3"],
    33. }),
    34. Promise.resolve({
    35. code: 200,
    36. data: ["4", "5", "6"],
    37. }),
    38. ])
    39. .then((res) => {
    40. console.log(res);
    41. /*
    42. [
    43. {
    44. reason: { code: 500, msg: "服务异常" },
    45. status: "rejected",
    46. },
    47. {
    48. status: "fulfilled",
    49. value: {
    50. code: 200,
    51. data: ["1", "2", "3"],
    52. },
    53. },
    54. {
    55. status: "fulfilled",
    56. value: {
    57. code: 200,
    58. data: ["4", "5", "6"],
    59. },
    60. },
    61. ];
    62. */
    63. const data = res.filter((item) => item.status === "fulfilled");
    64. console.log(data);
    65. /*
    66. [
    67. {
    68. status: "fulfilled",
    69. value: {
    70. code: 200,
    71. data: ["1", "2", "3"],
    72. },
    73. },
    74. {
    75. status: "fulfilled",
    76. value: {
    77. code: 200,
    78. data: ["4", "5", "6"],
    79. },
    80. },
    81. ];
    82. */
    83. });
    84. }