元ネタ: async/await地獄
https://qiita.com/rana_kualu/items/e6c5c0e4f60b0d18799d

後ろにいくほど手戻りが多くなる

コードが悪い

  • 原因
    • 安易な直列化(元記事での主張)
  • 対策
    • 必要な直列関係の明確化と分割
    • Promise の生成 と await のタイミングをずらす
    • 例: Promise.all, p = new Promise; .... await p

画面設計・機能設計が悪い

  • 原因
    • 1 機能/1 画面が担う担務が多い
  • 対策
    • 機能分割
    • 例:
      • 前: 商品データ取得+在庫データ取得 で画面生成
      • 後: 商品データ取得で画面生成 + 在庫データ取得で画面修正
    • 並列性は実行環境にまかせる(これがJSの王道

インターフェース設計が悪い

  • 原因
    • インターフェースミスマッチによるAPIコール多発
  • 対策
    • サーバサイドのインターフェース変更
    • 例: REST でなく GraphQL を使う
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.