0

こんにちは、アプリケーション全体にタイマーを持つ angularjs アプリを作成しています。毎分サーバーをポーリングして、ユーザーが受信トレイに新しいメッセージを受け取ったかどうかを確認します。

これを設計する最良の方法は何だろうと思っていました。これまでのところ、次の 2 つのオプションがあります。

1.) ルートスコープ機能 2.) サービス

サービス アプローチの問題は、私が持っているすべてのコントローラーにこのサービスを注入しなければならないことです。このアプリを設計する方法について、他に何か提案はありますか?

ありがとう

4

1 に答える 1

2

サービスを使用する - これは横断的な関心事であり、おそらくすべてのコントローラーが知る必要があるわけではありません。必要な場所に挿入すると、最初は余分なキーストロークが必要になりますが、これは利点であり、問​​題ではありません。コードをモジュール化してテストしやすくします。

サービスを使用する場合は、スタブ化されたインスタンスをコントローラー テストに挿入して、コントローラーを分離してテストできます。Jasmine スパイ (たとえば) を使用してサービスからモック値を返すことができるため、さまざまな入力でコントローラーがどのように動作するかを簡単にテストできます。

于 2013-10-31T22:59:34.487 に答える