0

Angularjs アプリはこちら。同様のことを行う 2 つのコントローラーがあります。特に、間隔があります。10 秒ごとに、自分のサービスに移動します。

これら 2 つの異なるサービスも同様のことを行います。最も重要なことは、次のような URL にアクセスすることです。

example.com/fromTimestamp=2019-11-21T15:13:51.618Z

2 つのコントローラーがほぼ同時に開始されるため、上記の例では、次のようなものを生成できます。

controller/service 1:           example.com/fromTimestamp=2019-11-21T15:13:51.618Z
controller/service 2:           example.com/fromTimestamp=2019-11-21T15:13:52.898Z

これは、パラメーターが次の行でサービスに作成されるためです。

var timestamp = fromTimestamp ? '&fromTimestamp=' +fromTimestamp.toISOString() : '';

そのため、数秒の違いがあるかもしれません。またはミリ秒の違いだけです。

リクエストを 1 つだけ作成し、http から取得したデータを 2 つのサービス間で共有したいと考えています。最も自然なアプローチは、キャ​​ッシュを使用することです。私が理解できるのは、この呼び出しがうまくいく可能性があるということです:

return $http.get('example.com/fromTimestamp=2019-11-21T15:13:51.618Z', {cache: true});

しかし、開発ツールを見ると、サーバーに対してまだ 2 つのリクエストが行われています。これは、2つの異なるURLがあるためだと思いますか? それが問題である場合、この問題に対する別のアプローチは何ですか?

4

1 に答える 1