setInterval() lặp lại thực thi hàm sau mỗi khoảng thời gian (ms). Trả về ID số nguyên dùng để hủy bằng clearInterval().
Ví dụ: Lặp và hủy
// Tạo interval: alert mỗi 2 giây
var intervalId = setInterval(function() {
alert('Hello');
}, 2000);
// Hủy sau 10 giây
setTimeout(function() {
clearInterval(intervalId);
console.log('Đã dừng interval');
}, 10000);
Lưu ý quan trọng
- Luôn lưu ID trả về của
setInterval()để có thểclearInterval()sau. - Trong class/component: lưu ID vào property (
this.intervalId) để dọn dẹp khi unmount/destroy. clearInterval()với ID không hợp lệ hoặc đã clear là an toàn (không lỗi).- Đối tác:
setTimeout()(chạy một lần) ↔clearTimeout().
Sửa lỗi trong tài liệu gốc
Tài liệu gốc ghi window.setInterval() để clear – sai. Phải dùng window.clearInterval(intervalId) hoặc clearInterval(intervalId).