2016-07-12 43 views
0

任何人都可以告訴我以下代碼中的循環依賴項在哪裏?循環依賴angularjs

var homeApp = angular.module("homeApp",['ngAnimate', 'ui.bootstrap']); 

'use strict'; 

homeApp.factory('AdminDashboardService', ['$http', '$q', function($http, $q){ 


    return { 


     'response': function(response) { 
       // do something on success 
       console.log("Yes Command comes here"); 
       return response; 
      }, 

     getAllHolidays: function(monthYearArrayForHolidayList) { 
      console.log("For full list of holidays list length: "+monthYearArrayForHolidayList.length); 
      var isMonthly="no"; 
      return $http.get('/tasktrac/holiday/getHoliday/isMonthly/'+isMonthly+'/'+monthYearArrayForHolidayList) 
        .then(
          function(response){ 
           return response.data; 
          }, 
          function(errResponse){ 
           //console.error('Error while fetching holiday'); 
           return $q.reject(errResponse); 
          } 
        ); 
    }, 
}]); 


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

我被困在這一點,請幫我一個忙,在解決這個問題。 這是我在瀏覽器中得到的錯誤 Please click here to see error 謝謝.. !!

回答

4

$ http攔截器無法將$ http聲明爲依賴關係!

進樣$注射器:

homeApp.factory('AdminDashboardService', ['$injector', '$q', function($injector, $q){ 


    return { 


     'response': function(response) { 
       // do something on success 
       console.log("Yes Command comes here"); 
       return response; 
      }, 

     getAllHolidays: function(monthYearArrayForHolidayList) { 
      console.log("For full list of holidays list length: "+monthYearArrayForHolidayList.length); 
      var isMonthly="no"; 
      return $injector.get("$http").get('/tasktrac/holiday/getHoliday/isMonthly/'+isMonthly+'/'+monthYearArrayForHolidayList) 
        .then(
          function(response){ 
           return response.data; 
          }, 
          function(errResponse){ 
           //console.error('Error while fetching holiday'); 
           return $q.reject(errResponse); 
          } 
        ); 
    }, 
}]); 
+0

你能否進一步闡述,我很抱歉,我是新來的角JS,你能告訴我究竟是什麼,我需要做的,我不明白的答案,請給我建議修改我的代碼 – Vish

+0

發佈固定代碼,沒什麼好解釋的:$ http注入替換爲$注入。如果你是新來的角一定要理解依賴注射概念 – fantarama

+0

我得到這個錯誤[$注射器:unpr] http://errors.angularjs.org/1.5.0/$injector/unpr?p0=httpProvider%20% 3C-%20http – Vish