Javascript lặp lại sau mỗi x giây

Phương thức

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9, được cung cấp trên giao diện
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0 và
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
1, liên tục gọi một hàm hoặc thực thi một đoạn mã, với thời gian trễ cố định giữa mỗi lần gọi

Phương thức này trả về ID khoảng thời gian xác định duy nhất khoảng thời gian, vì vậy bạn có thể xóa nó sau bằng cách gọi

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0

cú pháp

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)

Thông số

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
1

Một

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
2 sẽ được thực hiện sau mỗi
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 mili giây. Lần thực hiện đầu tiên xảy ra sau
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 mili giây

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
5

Một cú pháp tùy chọn cho phép bạn bao gồm một chuỗi thay vì một hàm, cú pháp này được biên dịch và thực thi sau mỗi

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 mili giây. Cú pháp này không được khuyến nghị vì những lý do tương tự khiến việc sử dụng
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
7 trở thành rủi ro bảo mật

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 Tùy chọn

Thời gian, tính bằng mili giây (phần nghìn giây), bộ hẹn giờ sẽ trễ giữa các lần thực thi hàm hoặc mã được chỉ định. Mặc định là 0 nếu không được chỉ định. Xem Giới hạn độ trễ bên dưới để biết chi tiết về phạm vi cho phép của các giá trị

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
10 Tùy chọn

Các đối số bổ sung được chuyển qua hàm được chỉ định bởi func sau khi hết giờ

Giá trị trả về

Giá trị trả về

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
11 là một giá trị số, khác không xác định bộ hẹn giờ được tạo bởi lệnh gọi tới
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9;

Có thể hữu ích khi biết rằng

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 và
setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15 chia sẻ cùng một nhóm ID và về mặt kỹ thuật,
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0 và
setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
17 có thể được sử dụng thay thế cho nhau. Tuy nhiên, để rõ ràng, bạn nên cố gắng luôn khớp chúng để tránh nhầm lẫn khi bảo trì mã của mình

Ghi chú. Đối số

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 được chuyển đổi thành số nguyên 32 bit có dấu. Điều này thực sự giới hạn
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 thành 2147483647 ms, vì nó được chỉ định là số nguyên có dấu trong IDL

ví dụ

ví dụ 1. Cú pháp cơ bản

Ví dụ sau minh họa cú pháp cơ bản của

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}

ví dụ 2. Xen kẽ hai màu

Ví dụ sau đây gọi hàm

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
01 mỗi giây một lần cho đến khi nhấn nút Dừng

HTML

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
1

CSS

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0

JavaScript

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3

Kết quả

Xem thêm.

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0

Vấn đề "này"

Khi bạn truyền một phương thức cho

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 hoặc bất kỳ hàm nào khác, nó sẽ được gọi với giá trị sai
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04. Vấn đề này được giải thích chi tiết trong tài liệu tham khảo JavaScript

Giải trình

Mã được thực thi bởi

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 chạy trong ngữ cảnh thực thi riêng biệt với chức năng mà từ đó nó được gọi. Kết quả là, từ khóa
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 cho hàm được gọi được đặt thành đối tượng
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
07 (hoặc
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
08), nó không giống với giá trị
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 cho hàm được gọi là
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
30. Xem ví dụ sau (sử dụng
setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15 thay vì
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 – trên thực tế, vấn đề giống nhau đối với cả hai bộ hẹn giờ)

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
2

Như bạn có thể thấy, không có cách nào để chuyển đối tượng

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 tới hàm gọi lại trong JavaScript kế thừa

Một giải pháp khả thi

Tất cả các thời gian chạy JavaScript hiện đại (trong trình duyệt và các nơi khác) đều hỗ trợ các hàm mũi tên, với từ vựng

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 — cho phép chúng ta viết
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
35 nếu chúng ta đang sử dụng phương thức
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
36

Nếu bạn cần hỗ trợ IE, hãy sử dụng phương pháp

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
37, cho phép bạn chỉ định giá trị sẽ được sử dụng là
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 cho tất cả các lệnh gọi đến một chức năng nhất định. Điều đó cho phép bạn dễ dàng bỏ qua các vấn đề không rõ ràng
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
04 sẽ là gì, tùy thuộc vào ngữ cảnh mà chức năng của bạn được gọi

ghi chú sử dụng

Hàm

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 thường được sử dụng để đặt độ trễ cho các chức năng được thực hiện lặp đi lặp lại, chẳng hạn như hoạt ảnh. Bạn có thể hủy khoảng thời gian bằng cách sử dụng
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
0

Nếu bạn muốn chức năng của mình được gọi một lần sau độ trễ đã chỉ định, hãy sử dụng

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15

hạn chế trì hoãn

Khoảng thời gian có thể được lồng vào nhau; . Để giảm thiểu tác động tiềm tàng mà điều này có thể gây ra đối với hiệu suất, khi các khoảng thời gian được lồng sâu hơn năm cấp độ, trình duyệt sẽ tự động thực thi giá trị tối thiểu 4 mili giây cho khoảng thời gian đó. Các nỗ lực chỉ định giá trị nhỏ hơn 4 mili giây trong các cuộc gọi được lồng sâu tới

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 sẽ được ghim thành 4 mili giây

Các trình duyệt có thể thực thi các giá trị tối thiểu nghiêm ngặt hơn cho khoảng thời gian trong một số trường hợp, mặc dù các giá trị này không phổ biến. Cũng lưu ý rằng lượng thời gian thực tế trôi qua giữa các lần gọi đến cuộc gọi lại có thể dài hơn

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
3 đã cho;

Đảm bảo rằng thời lượng thực hiện ngắn hơn tần suất ngắt quãng

Nếu có khả năng logic của bạn có thể mất nhiều thời gian hơn để thực thi so với khoảng thời gian, bạn nên gọi đệ quy một hàm đã đặt tên bằng cách sử dụng

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15. Ví dụ: nếu sử dụng
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
9 để thăm dò ý kiến ​​một máy chủ từ xa cứ sau 5 giây, thì độ trễ mạng, máy chủ không phản hồi và một loạt sự cố khác có thể ngăn yêu cầu hoàn thành trong thời gian quy định. Do đó, bạn có thể thấy mình có các yêu cầu XHR được xếp hàng đợi không nhất thiết phải trả lại theo thứ tự

Trong những trường hợp này, mẫu

setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15 đệ quy được ưu tiên

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
5

Trong đoạn mã trên, một hàm có tên là

const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
50 được khai báo và được thực thi ngay lập tức.
const intervalID = setInterval(myCallback, 500, 'Parameter 1', 'Parameter 2');

function myCallback(a, b)
{
 // Your code here
 // Parameters are purely optional.
 console.log(a);
 console.log(b);
}
50 được gọi đệ quy bên trong
setInterval(code)
setInterval(code, delay)

setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg0)
setInterval(func, delay, arg0, arg1)
setInterval(func, delay, arg0, arg1, /* … ,*/ argN)
15 sau khi logic đã hoàn thành việc thực thi. Mặc dù mẫu này không đảm bảo thực thi trên một khoảng thời gian cố định, nhưng nó đảm bảo rằng khoảng thời gian trước đó đã hoàn thành trước khi lặp lại

Làm cách nào để tạo JavaScript hẹn giờ lặp lại?

Sử dụng setInterval() để chỉ định chức năng lặp lại với thời gian trễ giữa các lần thực hiện . Một lần nữa, hai tham số được truyền cho setInterval(). hàm bạn muốn gọi và lượng thời gian tính bằng mili giây để trì hoãn mỗi lần gọi hàm. setInterval() sẽ tiếp tục thực thi cho đến khi nó bị xóa.

Làm cách nào để gọi một chức năng cứ sau 5 giây JavaScript?

Phương thức setInterval() trong JavaScript có thể được sử dụng để thực hiện đánh giá định kỳ biểu thức hoặc gọi hàm JavaScript.

Làm cách nào để gọi hàm sau mỗi 2 giây JavaScript?

setTimeout(function() { console. log('Tôi sẽ chạy sau 2 giây nữa');

Làm cách nào để chạy một chức năng mỗi giây trong js?

Vì vậy, để gọi hàm mỗi giây, chúng ta cần phải chuyển hàm cho phương thức setInterval và truyền tham số độ trễ là 1000 mili giây tương đương với 1 giây.