1

$http呼び出しによって送信されたデータを に保存する angularjs サービスを実装していますlocalStorage。そのために、リクエスト インターセプタを使用しているため、http リクエストが 経由$httpで送信されるたびに、データが に保存されlocalStorageます。以下は、インターセプターの私のコードです。

var OfflinkJs = angular.module('OfflinkJs', []);

OfflinkJs.factory('cacheInterceptor', function () {
    var cacheInterceptor = {
        request: function (config) {
            // Here I am saving the config as a string in localstorage
            return config;
        }
    };
    return cacheInterceptor;
});

上記のインターセプターを機能させるには、それを のinterceptors配列に登録する必要があり$httpProviderます。私はそれを達成するためにこれを行いました、

OfflinkJs.config(['$httpProvider', function ($httpProvider) {
    $httpProvider.interceptors.push('cacheInterceptor');
}]);

問題

OfflinkJSこれで、モジュールを別のモジュールで使用すると、すべての$http呼び出しがインターセプターを通過します。しかし、$httpサービスによって送信されたいくつかのリクエストでインターセプターを使用し、他のいくつかのリクエストでNOTを使用したいと思います。

サービスはシングルトンであるため$http、アプリケーションの別々の場所でサービスの 2 つのインスタンスを使用する方法がわかりません。これを達成する方法はありますか?

私はこの質問をしましたが、循環依存の問題に実際に対処しているようです

AngularJS $http サービスの 2 つのインスタンスが必要ですか?

4

1 に答える 1