Angular-Ionic $ interval不是一个函数

时间:2017-05-06 18:27:22

标签: angularjs

我正在使用$ interval来重复每10秒一个函数但是当应用程序运行时它会返回“类型错误:$ interval不是函数”。

这是代码:

app.controller("ctrl2", ["$scope", "$firebaseAuth", "HitService", 
"$location", "$ionicPopup", "sharedList", "$ionicLoading", "$ionicLoading",  "$interval",
    function ($scope, firebaseAuth, HitService, $location, $ionicPopup, sharedList, ionicLoading, $interval) {

function aggiornaToken() {
    var user = firebase.auth().currentUser;
    console.log(user);
    var token = user.refreshToken;
    console.log(token);
    //HitService.setToken(token); 
}
$interval(aggiornaToken, 10000);

1 个答案:

答案 0 :(得分:1)

这只是dependency injections的一个问题。

您可以看到排序对于Angular注射非常重要。

唯一的订购时间是不相关的,当你使用隐式注入时,这通常是一种不好的做法,因为你无法缩小,这会使你的代码不那么清晰,而且可扩展性也会降低。

此外,您应该开始使用$ inject而不是使用内联数组注释。两者都有效,但Angular指南通常会要求使用$ inject。

app.controller("ctrl2", ctrl2Function);

ctrl2Function.$inject = ["$scope", "$firebaseAuth", "HitService", "$location", "$ionicPopup", "sharedList", "$ionicLoading", "$interval"];

function ctrl2Function ($scope, firebaseAuth, HitService, $location, $ionicPopup, 
sharedList, ionicLoading, $interval) {
}

(请注意,您注入了两次ionicLoading并删除了它。)