我正在使用$ 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);
答案 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并删除了它。)