网友回复
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%