Использование фабрики в конфиге
Я знаю, что этап настройки запускается до того, как сервисы становятся доступны, но у меня есть ситуация, когда мне нужно использовать 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 };
};
});
Не уверен, что это лучший способ, поскольку поставщик должен использоваться для настройки, а не предоставлять такие функции, как форматирование.