2017-05-06 14 views
0

関数を10秒ごとに$ intervalを使用していますが、アプリケーションが実行しているときに「型エラー:$ 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

$ ionicLoadingを2回注入しました... – Alburkerk

+0

くそー!最近は気が散っています。/ありがとう。 –

答えて

0

これはdependency injections程度だけの問題です。

角の注入ではの順序が重要であることがわかります。

唯一の順序は関係ありません。暗黙的な注入を使用する場合です。これは一般的にはマイナー化できないため、悪い習慣であり、コードが不明瞭でスケーラビリティが低くなります。

また、インライン配列アノテーションを使用する代わりに、$ 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を2回注入して削除したことに注意してください)。

関連する問題