Các bài viết Học Node.js trước Taimienphi.vn đã từng đề cập đến các đối tượng global (global object). Để tìm hiểu rõ hơn về đối tượng Global trong Node.js là gì, bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn nhé.
Bài viết dưới đây Taimienphi.vn sẽ giới thiệu cho bạn về các đối tượng Global hiện diện trong các module Node.js. Với các đối tượng Global, chúng ta có thể gọi hoặc sử dụng trực tiếp các đối tượng này. Đối tượng global có thể là các module, hàm, chuỗi và một đối tượng.
Tìm hiểu đối tượng Global trong Node.js
Đối tượng Global trong Node.js
Các đối tượng global trong Node.js có tính chất toàn cục và hiện có sẵn trong tất cả module. Như Taimienphi.vn vừa đề cập ở trên, các đối tượng Global có thể gọi hoặc sử dụng trực tiếp, và nó có thể là các module, hàm, chuỗi và một đối tượng.
Chuỗi Global
__filename: biểu diễn tên file của mã đang được thực thi. Nó chỉ là đường dẫn tuyệt đối tới file chứa phần mã này. Khi làm việc với một chương trình chính, nó tránh bị trùng với tên file được sử dụng trong dòng lệnh. Đường dẫn tới module file là giá trị bên trong module như hình dưới đây:
Khi đoạn mã trên được thực thi, đường dẫn file tuyệt đối được in nghiêng trên giao diện console có dạng như dưới đây:
C:\odesk\Abhishek Thakur\NodeJS\GlobalObjects\hello-world-server.js
__dirname: Biểu diễn tên của thư mục tồn tại trong script thực thi. Khi giá trị của chuỗi Global này được ghi lại, nó sẽ in đường dẫn thư mục tuyệt đối tại vị trí file script tồn tại trên ổ cứng máy tính như hình dưới đây:
Khi thực thi đoạn mã trên, đường dẫn file tuyệt đối được in nghiêng trên giao diện console có dạng như dưới đây:
C:\odesk\Abhishek Thakur\NodeJS\GlobalObjects
Hàm Global
- Hàm setTimeout (callback, milliseconds): Hàm setTimeout (callback, milliseconds) là hàm Global được sử dụng để chạy callback sau khi thời gian chờ được tính bằng mili giây.
Đây là 2 tham số của hàm. Thời gian trễ phụ thuộc vào các yếu tố khác như cấu hình hệ điều hành và thời gian tải hệ thống. Thời gian tối đa mà một bộ đếm thời gian có thể kéo dài là 24.8 ngày.
Dưới đây là ví dụ về hàm timer gọi lại một hàm và in một chuỗi hiện diện bên trong hàm đó sau 3000 ms (tức là 3 giây).
Khi thực thi đoạn mã trên, chuỗi được in trên console sau 3 giây trễ có dạng như dưới đây:
Hello, welcome to the World of global objects in Node.js!
- Hàm clearTimeout (time): Đây là hàm Global được sử dụng để dừng bộ hẹn giờ được tạo trước đó bằng hàm setTimeout (). Tham số time được trả về bởi hàm setTimeout ().
Dưới đây là ví dụ hàm clearTimeout xóa bộ hẹn giờ được tạo bởi hàm setTimeout.
Khi đoạn mã trên được thực thi, không có gì được in trên console sau 3 giây trễ vì bộ đếm giờ chờ bị hàm clearTimeout hủy.
- Hàm setInterval (callback, milliseconds): Hàm Global setInterval (callback, milliseconds) được sử dụng để chạy callback sau khoảng thời gian được tính bằng mili giây.
Thời gian trễ phụ thuộc vào các yếu tố khác như cấu hình hệ điều hành và thời gian tải hệ thống. Thời gian tối đa mà một bộ đếm thời gian có thể kéo dài là 24.8 ngày.
Dưới đây là ví dụ về hàm setInterval, gọi 1 hàm và in chuỗi hiện diện bên trong hàm đó một lần sau 3000 ms (tức 3 giây). Ngoài ra nó trả về giá trị là bộ hẹn giờ. Để xóa bộ hẹn giờ này, bạn có thể sử dụng hàm clearInterval (timer).
Khi đoạn mã trên được thực thi, chuỗi được in trên console sau 3 giây / lần có dạng như dưới đây:
Đối tượng Global
Bảng dưới đây liệt kê danh sách các đối tượng Global khác được sử dụng thường xuyên trong các ứng dụng:
1. Console
Trong Node.js, console là một đối tượng Global được sử dụng để in các mức thông điệp khác nhau tới stdout và stderr. Dưới đây là các phương thức được sử dụng để in các thông tin, cảnh báo và thông báo lỗi:
Dưới đây là ví dụ về console:
console.log( __dirname );
console.info( __filename );
2. Process
Đối tượng Process trong Node.js được sử dụng để lấy thông tin về process hiện tại, cung cấp nhiều sự kiện và phương thức liên quan đến các hoạt động của process.
Việc sử dụng các phương thức này giúp bạn kiểm soát các tương tác hệ thống tốt hơn. Dưới đây là bảng danh sách các process phổ biến được sử dụng các trong ứng dụng:
Như vậy bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về đối tượng Global trong Node.js là gì? Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết khác đã có trên Taimienphi.vn để tìm hiểu rõ hơn về Event, File System (FS) trong Node.js là gi nhé.
https://thuthuat.taimienphi.vn/doi-tuong-global-trong-node-js-41352n.aspx
Bài viết tiếp theo Taimienphi.vn sẽ giới thiệu tiếp cho bạn về Utility Module trong Node.js nhé.