AngularJS - $timeout не является функцией

Я пытаюсь ввести $timeout в функцию run, но я получаю, что это not a function, когда я пытаюсь его вызвать. Почему?

var mainApp = angular.module('mainApp', ['ngRoute', 'ngAnimate', 'ui.bootstrap', ngCookies']);
mainApp.run(['$rootScope', '$location', '$timeout'
 function ($rootScope, $location, $route, authService, $timeout) {
...
}]);
2 ответа

mainApp.run(['$rootScope', '$location', '$timeout'
 function ($rootScope, $location, $route, authService, $timeout) {
...
}]);

должен быть:

mainApp.run(['$rootScope', '$location', '$route', 'authService', '$timeout',
 function ($rootScope, $location, $route, authService, $timeout) {
...
}]);

см. здесь часть "Аннотации массива":

https://docs.angularjs.org/api/auto/service/$injector


Когда вы комментируете функцию с именами зависимостей, порядок появления должен совпадать.

...
mainApp.run(['$rootScope', '$location', '$route', '$timeout', 'authService', 
 function ($rootScope, $location, $route, $timeout, authService) {
...
}]);

licensed under cc by-sa 3.0 with attribution.