2015-01-12 3 views
1

Я использую перехватчик, чтобы добавить токены JWT к моим HTTP-вызовам. Мой код работает отлично, как это:Перехватчик вторжений IIFE - неизвестный провайдер

angular 
    .module("jwtKickStart") 
    .factory("authInterceptorService", authInterceptorService); 

authInterceptorService.$inject = ["$injector", "$q", "$timeout"]; 
function authInterceptorService($injector, $q, $timeout) { 

    var $state, loginModal, $http; 

    //... 

Но если я обертку в IIFE, то я получаю Неизвестная ошибка поставщика:

(function() { 
"use strict"; 

angular 
    .module("jwtKickStart") 
    .factory("authInterceptorService", authInterceptorService); 

authInterceptorService.$inject = ["$injector", "$q", "$timeout"]; 
function authInterceptorService($injector, $q, $timeout) { 

    var $state, loginModal, $http; 

    //... 

ли я не разрешено использовать IIFE?

EDIT: вот еще некоторые детали

Сообщение об ошибке это одна: http://errors.angularjs.org/1.3.8/ $ форсунка/unpr p0 = authInterceptorServiceProvider% 20% 3C-% 20authInterceptorService% 20% 3C-% 20% 24http% 20%? 3C-% 20% 24templateFactory% 20% 3C-% 20% 24view% 20% 3C-% 20% 24state

исходный код доступен здесь: https://github.com/capesean/JWTKickStart/tree/master/JWTKickStart.APP/app

+1

Вы можете предоставить полное сообщение об ошибке и другие коды? – elaijuh

+0

Почему вы обертываете в IIFE? – ps0604

+0

@ ps0604 Я стараюсь следовать правилам стиля Джона Папы, которые используют IFFE везде (насколько я могу судить). Если есть причина НЕ, то уверен. Я просто не ожидал, что он сломает код. – Sean

ответ

0

пытаются внедрить так:

(function() { 
"use strict"; 

angular 
    .module("jwtKickStart") 
    .factory("authInterceptorService",["$injector","$q","$timeout" authInterceptorService]); 

function authInterceptorService($injector, $q, $timeout) { 
// your code 
} 
Смежные вопросы