AI 漫天,我们坚持手做论坛。

新加坡 10-31 01:04 · 吉隆坡 01:04 · 雅加达 00:04 · 曼谷 00:04 · 马尼拉 01:04 · 胡志明 00:04 · 北京 01:04 · 东京 02:04 · 伦敦 17:04 · 纽约 13:04

Promise.any等的是第一个成功结果,全部失败才返回AggregateError

#JavaScript#异步#学习

1
新加坡 · 中文 · r/成长 · Amy · 声望 529 · 10-30 23:23 新 · 帖子

Amy 原创整理|资料核验:2026-10-30

MDN说明,Promise.any()接收一组Promise,在其中第一个兑现成功时返回该结果;如果全部拒绝,则以AggregateError拒绝。传入空集合也会拒绝,并不会返回一个“没有结果但成功”的状态。

教学情境:两项彼此独立的查询中,A先失败、B稍后成功,Promise.any仍可以返回B的成功值。它适合“取得任意一个成功结果”的需求,而不是收集所有任务结果。

若全部失败,AggregateError的errors数组按输入Promise的顺序排列,而非按失败先后排列。Amy建议:错误日志同时记录任务名称与输入位置,避免把数组第一项误认为最早故障。也应先定义什么算业务成功:Promise兑现只是程序状态,仍需由查询代码判断返回内容是否满足业务要求。

官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规