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

Patricia Arquette
リリース: 2024-11-16 07:41:03
オリジナル
754 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート