[解決済み]AngularJSでHTTP 'Get'サービスの応答をキャッシュする?
2022-04-09 08:37:20
質問
データオブジェクトが空のときにHTTP 'Get'リクエストを行い、成功したときにデータオブジェクトにデータを入力するカスタムAngularJSサービスを作成できるようにしたいです。
次にこのサービスを呼び出すときは、HTTPリクエストを再度行うオーバーヘッドを回避し、代わりにキャッシュされたデータオブジェクトを返したいと考えています。
これは可能でしょうか?
どのように解決するのですか?
Angularの HTTP には キャッシュを内蔵しています。 . ドキュメントによると
キャッシュ - ブーリアン|オブジェクト - ブーリアン値 またはオブジェクト HTTP レスポンスのキャッシュを有効または無効にするために $cacheFactory で作成します。参照 httpキャッシュ 情報 .
ブール値
を設定することができるわけです。
cache
まで
真の
をオプションに追加しました。
$http.get(url, { cache: true}).success(...);
または、コンフィグタイプの通話を希望する場合。
$http({ cache: true, url: url, method: 'GET'}).success(...);
キャッシュ・オブジェクト
また、キャッシュファクトリを使用することも可能です。
var cache = $cacheFactory('myCache');
$http.get(url, { cache: cache })
を使って自分で実装することができます。 キャッシュファクトリー (特に$resourceを使うときに便利です)。
var cache = $cacheFactory('myCache');
var data = cache.get(someKey);
if (!data) {
$http.get(url).success(function(result) {
data = result;
cache.put(someKey, data);
});
}
関連
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] 誰かangularjsの$qサービスの使用について説明してください。[重複しています]。
-
[解決済み] AngularJSの.$on()とは?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] ウェブサイト制作のためのChromeキャッシュの無効化
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] JavaScriptでHTTP GETリクエスト?
-
[解決済み] データをリクエストペイロードではなく、フォームデータとして投稿するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] AngularJSのグローバル変数
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] Angular ng-repeatの条件付きラップアイテム(ng-repeatのグループアイテム)。
-
[解決済み] ディレクティブ '...' が要求するコントローラ 'ngModel' が見つかりません。
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] Angular JSによるシンプルなポップアップ
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] AngularJSのng-repeatでキーと値を反復処理する方法は?