Tôi có một chức năng mà tôi lặp lại sau mỗi 10 giây. Điều này hoạt động tốt. Nó cho thấy các đơn đặt hàng. Bây giờ tôi muốn có một chức năng để chấp nhận. Nhưng khi điều này được nhấp vào tôi muốn pauze khoảng thời gian. Và khi lệnh chấp nhận trả lại, tôi muốn tiếp tục lại khoảng thời gian này.tạm dừng khoảng thời gian góc và sau đó tiếp tục
cách tốt nhất để làm điều này là gì?
mã của tôi
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);
}
Bạn có thể chuyển giá trị trả về của '$ interval' thành' $ interval.cancel' để hủy khoảng thời gian. Bạn cũng có thể chỉ có một nhánh bên trong hàm interval trả về và không làm gì nếu một cờ boolean được thiết lập. –