Rate this post

Node.js Các timer là các hàm toàn cục. Bạn không cần sử dụng hàm request () để sử dụng các timer. Hãy cùng xem danh sách các chức năng hẹn giờ.

Các bài viết liên quan:

Giới thiệu về Timer trong Node.js

Timer trong Node.js là một tính năng cho phép bạn lập lịch thực thi mã trong khoảng thời gian nhất định hoặc lặp đi lặp lại theo một khoảng thời gian cụ thể. Nó cung cấp các phương thức để đặt thời gian chờ, thực thi hành động sau một khoảng thời gian xác định, và thực hiện các tác vụ định kỳ.

Timer trong Node.js cho phép bạn xây dựng ứng dụng có tính năng xử lý thời gian, đồng bộ hóa các tác vụ và thực hiện các tác vụ định kỳ như làm sạch dữ liệu, đồng bộ hóa dữ liệu, tạo tác vụ định kỳ, và nhiều hơn nữa.

Các phương thức quan trọng trong Timer của Node.js bao gồm:

  1. setTimeout(): Cho phép bạn đặt thời gian chờ và thực hiện hành động sau khi khoảng thời gian đó trôi qua.
  2. setInterval(): Cho phép bạn đặt khoảng thời gian giữa các lần thực hiện hành động và thực hiện hành động định kỳ.
  3. setImmediate(): Cho phép bạn thực hiện hành động ngay sau khi vòng lặp hiện tại của event loop hoàn tất.

Timer trong Node.js rất hữu ích để xử lý các tác vụ đồng bộ hoặc bất đồng bộ, kiểm tra kết nối và timeout, lên lịch thực thi các tác vụ định kỳ, và nhiều tác vụ khác liên quan đến thời gian.

Xem thêm Timer trong Swift

Với Timer trong Node.js, bạn có thể kiểm soát và quản lý thời gian trong ứng dụng của mình, giúp tăng tính đáng tin cậy và hiệu suất của hệ thống.

Đặt chức năng hẹn giờ:

  • setIm Instant (): Nó được sử dụng để thực thi setIm Instant.
  • setInterval (): Nó được sử dụng để xác định một khoảng thời gian.
  • setTimeout (): () – Nó được sử dụng để thực hiện lệnh gọi lại một lần sau phần nghìn giây trễ.

Xóa các chức năng hẹn giờ:

  • clearIm Instant (đối tượng ngay lập tức): Nó được sử dụng để dừng một đối tượng tức thời, như được tạo bởi setIm Instant
  • clearInterval (khoảng thời gian): Nó được sử dụng để dừng một khoảng thời gian
  • clearTimeout (timeoutObject): Nó ngăn chặn timeoutObject, như được tạo bởi setTimeout

Sử dụng Timer trong Node.js

Để sử dụng Timer trong Node.js, bạn cần sử dụng các phương thức có sẵn trong module timers. Dưới đây là một số ví dụ về cách sử dụng Timer trong Node.js:

  1. Sử dụng setTimeout() để đặt thời gian chờ và thực hiện hành động sau một khoảng thời gian nhất định:
setTimeout(() => {
  console.log('Đã qua 3 giây');
}, 3000); // Đợi 3 giây và sau đó in ra "Đã qua 3 giây"
  1. Sử dụng setInterval() để thực hiện hành động định kỳ:
setInterval(() => {
  console.log('Chào mừng đến với Node.js');
}, 1000); // In ra "Chào mừng đến với Node.js" mỗi giây
  1. Sử dụng setImmediate() để thực hiện hành động ngay sau khi vòng lặp hiện tại của event loop hoàn tất:
setImmediate(() => {
  console.log('Hành động được thực hiện ngay lập tức');
});

Ngoài ra, bạn cũng có thể sử dụng Timer để lên lịch thực thi các tác vụ đồng bộ hoặc bất đồng bộ, kiểm tra kết nối và timeout, và thực hiện các tác vụ khác liên quan đến thời gian trong ứng dụng Node.js của mình.

Lưu ý rằng Timer trong Node.js là bất đồng bộ, điều này có nghĩa là các hành động được thực hiện thông qua Timer không chặn luồng chính của ứng dụng và tiếp tục thực thi các tác vụ khác trong khi đang chờ thời gian trôi qua.

Xem thêm Node.js Command Line

Quản lý Timer trong Node.js

Trong Node.js, để quản lý Timer và thực hiện các hoạt động liên quan đến thời gian, bạn có thể sử dụng các phương thức và tính năng có sẵn trong module timers. Dưới đây là một số cách để quản lý Timer trong Node.js:

  1. Đặt Timeout: Sử dụng phương thức setTimeout() để đặt một timeout, sau đó thực hiện một hành động sau khoảng thời gian nhất định.
const timeout = setTimeout(() => {
  console.log('Hành động sau khoảng thời gian');
}, 5000); // Đợi 5 giây và sau đó thực hiện hành động

// Hủy timeout
clearTimeout(timeout);
  1. Đặt Interval: Sử dụng phương thức setInterval() để đặt một khoảng thời gian định kỳ và thực hiện một hành động lặp đi lặp lại.
const interval = setInterval(() => {
  console.log('Hành động định kỳ');
}, 2000); // Thực hiện hành động mỗi 2 giây

// Hủy interval
clearInterval(interval);
  1. Đặt Immediate: Sử dụng phương thức setImmediate() để đặt một hành động được thực hiện ngay sau khi vòng lặp hiện tại của event loop hoàn tất.
const immediate = setImmediate(() => {
  console.log('Hành động ngay lập tức');
});

// Hủy immediate
clearImmediate(immediate);
  1. Quản lý Timer: Bạn có thể sử dụng các phương thức clearTimeout(), clearInterval(), và clearImmediate() để hủy các timer đã đặt trước đó.
const timeout = setTimeout(() => {
  console.log('Hành động sau khoảng thời gian');
}, 5000);

// Hủy timeout
clearTimeout(timeout);

Quản lý Timer trong Node.js rất quan trọng để kiểm soát và điều chỉnh thời gian thực thi các hoạt động trong ứng dụng của bạn. Hãy chắc chắn rằng bạn sử dụng đúng phương thức và hủy các Timer khi chúng không còn cần thiết để tránh tiêu tốn tài nguyên và xử lý các vấn đề liên quan đến thời gian trong ứng dụng của bạn.

Xem thêm Module DNS Node.js

Một số ứng dụng của Timer trong Node.js

Timer trong Node.js có nhiều ứng dụng khác nhau tùy thuộc vào nhu cầu và yêu cầu của ứng dụng. Dưới đây là một số ứng dụng phổ biến của Timer trong Node.js:

  1. Đồng bộ hóa các hoạt động: Timer được sử dụng để đặt khoảng thời gian giữa các hoạt động trong ứng dụng, đảm bảo các tác vụ được thực hiện đồng bộ và không gây tải nặng cho máy chủ.
  2. Lập lịch và đặt lịch: Timer cho phép bạn lập lịch và thực hiện các hoạt động theo thời gian cụ thể, ví dụ: thực hiện công việc định kỳ, gửi email thông báo hàng ngày, tạo báo cáo định kỳ, v.v.
  3. Xử lý thời gian chờ: Timer cho phép bạn đặt thời gian chờ trước khi thực hiện một hoạt động, ví dụ: đợi một khoảng thời gian trước khi gửi yêu cầu HTTP, xử lý các yêu cầu của người dùng sau một khoảng thời gian nhất định, v.v.
  4. Điều khiển tiến trình: Timer có thể được sử dụng để điều khiển các tiến trình và tác vụ trong ứng dụng, ví dụ: thực hiện một hành động sau khi một tiến trình hoàn thành, tự động cập nhật dữ liệu sau một khoảng thời gian nhất định, v.v.
  5. Thực hiện các tác vụ định kỳ: Timer có thể được sử dụng để thực hiện các tác vụ định kỳ, ví dụ: cập nhật dữ liệu từ nguồn ngoại vi sau mỗi khoảng thời gian nhất định, kiểm tra và xử lý thông tin từ các nguồn dữ liệu bên ngoài, v.v.

Timer trong Node.js cung cấp khả năng linh hoạt để quản lý thời gian và lập lịch các hoạt động trong ứng dụng của bạn. Với sự kết hợp của các phương thức Timer và các tính năng khác của Node.js, bạn có thể xây dựng các ứng dụng đa dạng và linh hoạt.

Lưu ý khi sử dụng Timer trong Node.js

Khi sử dụng Timer trong Node.js, có một số lưu ý sau đây:

  1. Đảm bảo giải phóng tài nguyên: Khi bạn sử dụng Timer để đặt lịch hoặc thực hiện các tác vụ theo thời gian, hãy đảm bảo rằng bạn đã giải phóng tài nguyên sau khi hoạt động hoàn thành. Điều này bao gồm việc huỷ bỏ các timer chưa hoàn thành và giải phóng bộ nhớ hoặc tài nguyên khác được sử dụng.
  2. Xử lý ngoại lệ: Khi sử dụng Timer, hãy chắc chắn rằng bạn đã xử lý các ngoại lệ phát sinh trong quá trình thực hiện các hoạt động theo thời gian. Nếu không, ngoại lệ có thể gây trục trặc hoặc làm cho ứng dụng của bạn không ổn định.
  3. Đảm bảo hiệu suất: Khi sử dụng Timer, hãy đảm bảo rằng các hoạt động được thực hiện trong thời gian ngắn để tránh gây tắc nghẽn và làm chậm toàn bộ ứng dụng của bạn. Nếu có thể, tối ưu hóa code của bạn để đảm bảo hiệu suất tốt hơn.
  4. Sử dụng Timer phù hợp: Đảm bảo rằng bạn sử dụng loại Timer phù hợp với nhu cầu của bạn. Node.js cung cấp nhiều loại Timer khác nhau như setTimeout, setInterval và setImmediate. Hãy chọn loại Timer phù hợp với yêu cầu cụ thể của bạn để đảm bảo hoạt động chính xác.
  5. Xử lý trùng lặp: Trong một số trường hợp, Timer có thể gây ra các hoạt động trùng lặp nếu không được kiểm soát cẩn thận. Hãy đảm bảo rằng bạn đã xử lý các trường hợp trùng lặp để tránh các hoạt động không mong muốn xảy ra nhiều lần.
  6. Kiểm tra và sửa lỗi: Khi sử dụng Timer trong ứng dụng của bạn, hãy thường xuyên kiểm tra và sửa lỗi để đảm bảo rằng nó hoạt động đúng như mong đợi. Kiểm tra kỹ lưỡng các đoạn mã Timer và xử lý lỗi một cách cẩn thận để đảm bảo tính ổn định và tin cậy của ứng dụng.

Những lưu ý trên giúp bạn sử dụng Timer trong Node.js một cách hiệu quả và đảm bảo rằng ứng dụng của bạn hoạt động một cách đáng tin cậy và ổn định.

Xem thêm NestJS trong Node.js

Ví dụ về Node.js Timer

Ví dụ này sẽ đặt khoảng thời gian là 1000 mili giây và nhận xét được chỉ định sẽ được hiển thị sau mỗi 1000 mili giây cho đến khi bạn kết thúc.

File : timer1.js

setInterval(function() {  
 console.log("setInterval: Hey! 1 millisecond completed!..");   
}, 1000);  

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer1.js  

File: timer5.js

var i =0;  
console.log(i);  
setInterval(function(){  
i++;  
console.log(i);  
}, 1000);   

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer5.js  

Ví dụ về Node.js Timer setTimeout ()

File: timer1.js

setTimeout(function() {   
console.log("setTimeout: Hey! 1000 millisecond completed!..");  
}, 1000);  

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer1.js  

Ví dụ này hiển thị thời gian chờ sau mỗi 1000 mili giây mà không cần đặt khoảng thời gian. Ví dụ này sử dụng thuộc tính đệ quy của một hàm.

File: timer2.js

var recursive = function () {  
    console.log("Hey! 1000 millisecond completed!..");   
    setTimeout(recursive,1000);  
}  
recursive();   

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer2.js  

Node.js setInterval (), setTimeout () và clearTimeout ()

Hãy xem một ví dụ để sử dụng hàm clearTimeout ().

File: timer3.js

function welcome () {  
  console.log("Welcome to JavaTpoint!");  
}  
var id1 = setTimeout(welcome,1000);  
var id2 = setInterval(welcome,1000);  
clearTimeout(id1);  
//clearInterval(id2);  

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer3.js

Bạn có thể thấy rằng ví dụ trên có bản chất là đệ quy. Nó sẽ kết thúc sau một bước nếu bạn sử dụng ClearInterval.

Node.js setInterval (), setTimeout () và clearInterval ()

Hãy xem một ví dụ để sử dụng hàm clearInterval ().

File: timer3.js

function welcome () {  
  console.log("Welcome to JavaTpoint!");  
}  
var id1 = setTimeout(welcome,1000);  
var id2 = setInterval(welcome,1000);  
//clearTimeout(id1);  
clearInterval(id2); 

Mở dấu nhắc lệnh Node.js và chạy đoạn mã sau:

node timer3.js

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now