Tôi có một ứng dụng sử dụng JavaScript setInterval()
để chạy đồng hồ kỹ thuật số. Tôi đã tự hỏi nếu nó có một thời gian chờ, hoặc giới hạn, với số lần nó có thể thực hiện chức năng này.Giới hạn phân đoạn thiết lập JavaScript?
Trả lời
Không, chức năng nhất định sẽ giữ được thực hiện cho đến khi bạn xóa khoảng bằng tay với clearInterval()
Lưu ý rằng trong hầu hết các trình duyệt, chức năng của bạn vẫn sẽ được thực hiện khi trang được trong một nền tab, nhưng các trình duyệt di động (đáng chú ý là IOS5 Safari) có thể miễn phí trang cho đến khi được tập trung/hiển thị lại.
setInterval()
sẽ chạy vô hạn.
Nếu bạn muốn chấm dứt 'vòng lặp', bạn có thể sử dụng clearInterval. Ví dụ:
var counter = 0;
var looper = setInterval(function(){
counter++;
console.log("Counter is: " + counter);
if (counter >= 5)
{
clearInterval(looper);
}
}, 1000);
Như những người khác đã đề cập, có được không giới hạn số lần khoảng của bạn sẽ chạy, tuy nhiên nếu bạn có ý định chạy một bộ đếm thời gian vô hạn định bạn nên xem xét các thông tin ở đây:
Minimum setInterval()/setTimeout() delay on background tabs
Nếu bạn người dùng có khả năng tab-out, 1 giây dường như là khoảng thời gian tối thiểu an toàn
Bạn có nghĩa là bao nhiêu lần gọi lại sẽ được thực thi? Không, không có giới hạn. Tại sao câu hỏi này lại bị bỏ phiếu? – davin