8
私は10秒ごとに繰り返す機能を持っています。これは正常に動作します。注文を表示します。今私は受け入れ注文機能が欲しい。しかし、これがクリックされると、私は間隔を空にしたい。受注が返ってきたらこの間隔をやり直したい。角度間隔を一時停止してから再開
これを行う最も良い方法は何ですか?あなたが$interval
の変数を作成する必要があり
私のコード
if ($auth.isAuthenticated()) {
//request
$scope.checkNewOrders = function(){
newOrderService.getNewOrders().then(function (response) {
//console.log(response.data.status);
if (response.data == 'token_error') {
$auth.logout();
}
if (response.data.status == 'success') {
$rootScope.openOrders = response.data.data;
}
if (response.data.status == 'no_orders') {
$rootScope.openOrders = false;
}
});
};
//Put in interval, first trigger after 10 seconds
$interval(function(){
$scope.checkNewOrders();
}.bind(this), 10000);
//invoke initialy
$scope.checkNewOrders();
}
$scope.acceptOrder = function(orderid) {
console.log(orderid);
}
'$ interval'の戻り値を' $ interval.cancel'に渡して、間隔をキャンセルすることができます。また、返すinterval関数の中にブランチを持つこともできます。ブール値フラグが設定されている場合は何もしません。 –