JavaScript Mastery 技能:用 Promise.allSettled 保留部分成功
EnglishClaude Code 安装步骤
- 从 GitHub 固定提交获取完整的 `cli-tool/components/skills/development/javascript-mastery` 目录。
- 复制到目标项目的 `.claude/skills/`,确认 `.claude/skills/javascript-mastery/SKILL.md`,再从项目根目录启动 Claude Code,输入 `/javascript-mastery`。
中文摘要
用 Claude Code 比较 Promise 组合方法,为互相独立的数据请求明确部分失败的处理方式,并验证返回顺序。
SKILL.md 中文导读
可复现示例
构造一个立即 resolve('推荐列表') 的 Promise 和一个 reject(new Error('weather unavailable')) 的 Promise。按推荐、天气顺序传入 Promise.allSettled,分别读取 status、value 或 reason。工作步骤
- 先确认失败是否应影响其他任务。需要保留每项状态时使用 Promise.allSettled。
- 按结果对象的 status 处理每块数据,给失败项单独记录错误并显示可读提示。
验收方法
第一个结果为 fulfilled 并保留推荐内容,第二个为 rejected。页面可以展示推荐并标出天气加载失败。
GitHub 原文 · 更新日期
适用环境
准备现代浏览器或 Node.js。示例用两个本地 Promise 模拟推荐区和天气区。
常见问题
Promise.allSettled 的结果跟完成顺序一样吗?
结果数组按传入 Promise 的顺序排列,使用索引或任务定义关联到原模块。