返回 Skill 列表
extension
分类: 开发与工程无需 API Key

concurrency-async

并行处理或异步操作实现时使用。

person作者: jakexiaohubgithub

Concurrency and Async

📋 実行前チェック(必須)

このスキルを使うべきか?

  • [ ] 並列処理を実装する?
  • [ ] async/awaitを使用する?
  • [ ] 競合状態の懸念がある?
  • [ ] Promise.all等で並列実行する?

前提条件

  • [ ] 各タスクが独立しているか確認したか?
  • [ ] 順序依存性を把握しているか?
  • [ ] エラーハンドリングを検討したか?

禁止事項の確認

  • [ ] 独立タスクを順次実行しようとしていないか?
  • [ ] 競合状態を無視しようとしていないか?
  • [ ] await漏れがないか確認したか?
  • [ ] Promise.allでの1つの失敗で全体が失敗することを考慮したか?

トリガー

  • 並列処理実装時
  • async/await使用時
  • 競合状態の懸念がある時
  • Promise.all等の並列実行時

🚨 鉄則

競合状態を常に意識。シンプルに保つ。


並列実行

// ✅ 独立タスクは並列
const [users, products] = await Promise.all([
  fetchUsers(),
  fetchProducts()
]);

// ❌ 不要な順次実行
const users = await fetchUsers();
const products = await fetchProducts();

エラーハンドリング

// Promise.allは1つ失敗で全体失敗
// 個別にエラーハンドリングしたい場合
const results = await Promise.allSettled([
  fetchUsers(),
  fetchProducts()
]);

results.forEach(result => {
  if (result.status === 'fulfilled') {
    console.log(result.value);
  } else {
    console.error(result.reason);
  }
});

🚫 禁止事項まとめ

  • 独立タスクの順次実行
  • 競合状態の無視
  • await漏れ
  • エラーハンドリング忘れ