1

サービスが利用可能になる前に構成フェーズが実行されることは知っていますが、 a を使用してそのようなものmyJsonDateTimeServiceを挿入する必要がある状況があります。$httpProvider.defaults.transformResponse

angular.module('myJsonDateTimeInterceptor', ['myJsonDateTime'])
.config(function($httpProvider, myJsonDateTimeService){
    $httpProvider.defaults.transformResponse.push(function(responseData){
        myJsonDateTime.format(responseData); // Logic to change DateTime.
        return responseData;
    });
});

angular.module('myJsonDateTime', [])
.factory('myJsonDateTimeService', function(){
    var factory = {
        format: function(data) { ... }
    };
    return factory;    
});

問題はmyJsonDateTimeService、他の場所でサービスとして使用されていることです。形式コードを複製する代わりに、インターセプターの構成で同じロジックを再利用したいと考えています。

myJsonDateTimeProviderまた、ファクトリの同じロジックを使用できるを作成する方法もわかりません。

編集 1

提案されているように、次のようなプロバイダーでこのファクトリを再構築します。

angular.module('myJsonDateTime', [])
.provider('myJsonDateTimeService', function(){
    var format = function(data) { ... };
    this.format = format;

    this.$get = function() {
        return { format: format };
    };
});

プロバイダーを使用して構成し、フォーマットなどの機能を提供しないため、それが最善の方法であるかどうかはわかりません。

4

0 に答える 0