ホームページ  >  記事  >  ウェブフロントエンド  >  Promise .then メソッドのコールバックが AngularJS のアンチパターンなのはなぜですか?

Promise .then メソッドのコールバックが AngularJS のアンチパターンなのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 07:41:03756ブラウズ

Why are Callbacks in Promise .then Methods an Anti-Pattern in AngularJS?

Promise .then メソッドからのコールバックがアンチパターンである理由

質問:

それはアンチパターンですかPromise .then メソッド内で AngularJS サービスにコールバック関数を提供するには?その場合、コードをどのようにリファクタリングする必要がありますか?その理由は何ですか?

回答:

コードをリファクタリングします:

tokenService の getTokens メソッドを変更して、プロミスを受け入れる代わりに直接 Promise を返すようにします。 callback:

var getTokens = function() {
  return $http.get('/api/tokens');
};

コントローラーで、.then メソッドを使用して成功/失敗ハンドラーを連鎖させます:

yourModule.getTokens()
  .then(function(response) {
    // handle it
  });

元の方法がアンチパターンだった理由:

  • Promise のさらなる連鎖を防止しますハンドラー。 元のコードは、応答をさらに処理するために追加の .then メソッドを連鎖させることを防ぎます。
  • 制御を反転します。 コールバックを受け入れることにより、応答の処理の制御は、呼び出し側モジュールから呼び出されるモジュールへの接続は理想的ではありません。
  • 不必要な使用 $http サービスは Promise を返しますが、元のコードは Promise をコールバックに変換して戻すため、Promise の使用が冗長になります。
  • 混乱の可能性があります。 Promise をコールバックとして使用すると、次のような問題が発生します。不必要な概念がコードベースに組み込まれるため、チーム メンバーが理解するのが難しい可能性があります。

以上がPromise .then メソッドのコールバックが AngularJS のアンチパターンなのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。