最初のサンプル コードでは、すべて正常に動作します。ページ ルートが変更されるたびに、いくつかの条件 ( $timeout
) を確認し、promise を解決します。
2 番目のサンプルに移動var rulesFactory
するapp.factory('rulesFactory')
と、1 回だけ動作します。
キャッシュですか?コードの再利用性を向上させるためにこれを解決するにはどうすればよいですか?
最初のサンプル コードでは、すべて正常に動作します。ページ ルートが変更されるたびに、いくつかの条件 ( $timeout
) を確認し、promise を解決します。
2 番目のサンプルに移動var rulesFactory
するapp.factory('rulesFactory')
と、1 回だけ動作します。
キャッシュですか?コードの再利用性を向上させるためにこれを解決するにはどうすればよいですか?
あなたのコードはrulesFactory
、サービス自体が初めてインスタンス化されたときに一度だけ実行されました。
最初の解決時にこれを行います。
2 回目の解決時にこれを行います。
これを修正するには、rulesFactory がタイムアウトを再度実行する関数を返すようにします。必要なときはいつでも。
さらに、$timeout 自体が promise を返すため、$timeout を返すだけで済みます :-)