+
25
-

Promise.allSettled与Promise.all有啥不同?

Promise.allSettled与Promise.all有啥不同?

网友回复

+
6
-

Promise.allSettled 和 Promise.all 是 JavaScript 中用于处理多个 Promise 的两个方法,但它们的行为有显著区别,适用于不同场景。以下是它们的核心差异:

1. 失败处理

Promise.all

特点 :只要有一个 Promise 被拒绝(rejected),整个 Promise 会立即失败。

适用场景 :需要所有任务都成功完成的情况(例如并发请求多个 API,任一失败则终止流程)。

示例 :

const p1 = Promise.resolve(3);
const p2 = new Promise((resolve, reject) => setTimeout(reject, 100, '出错了'));
const p3 = Promise.resolve('foo');

Promise.all([p1, p2, p3])
.then(values => console.log(values)) // 不会执行
.catch(error => console.error(error...

点击查看剩余70%

我知道答案,我要回答