Skip to main content

Share Everywhere

Table of contents

NodeJS hỗ trợ các sự kiện trong các ứng dụng rất hoàn hảo. Mỗi hành động trong máy tính được gọi là 1 sự kiện (event). Chẳng hạn khi bạn đọc một tập tin trên ổ cứng, thì có nghĩa là bạn phải thực hiện 2 hành động "mở tập tin" và "đóng tập tin" sau khi đọc xong, như vậy ở đây chúng ta có 2 sự kiện "Mở" & "Đóng". Dựa trên các sự kiện bạn có trèn các mã của bạn để làm một việc gì đó

>> Template engine (handlebars) trong khóa học Node JS (P9)

>> Kiến thức về Install Morgan trong khóa học Node JS (P8)

>> Chia sẻ Install nodemon & inspector trong khóa học Node JS (P6)

Bổ sung thêm sử dụng NodeJS EventEmitter

var fs = require('fs');

// Create a stream to read file

var rs = fs.createReadStream('C:/test/demo.txt');

// The event 'open':

rs.on('open', function() {

    console.log('File opened!');

});

Module events cung cấp cho bạn lớp EventEmitter, nó là một lớp trung tâm trong NodeJS hỗ trợ định nghĩa ra một sự kiện, đăng ký các Listener (Đối tượng lắng nghe) sự kiện này, và phát ra (emit) sự kiện.

Listener

Trong NodeJS, Listener là một hàm, nó sẽ được gọi để thực thi khi sự kiện xẩy ra. Có thể có 0, 1 hoặc nhiều Listener đang được gắn (bind) với sự kiện đó.

NodeJS EventEmitter
NodeJS EventEmitter

Để đơn giản, bạn hãy quan sát hình minh họa dưới đây, 1 con chuột và một cái bẫy chuột. Một sự kiện chuẩn bị xẩy ra. Khi sự kiện xẩy ra (Miếng bánh bị đánh cắp), cái bẫy chuột sẽ thực hiện nhiệm vụ của nó. Cái bẫy chuột ở đây chính là một "Listener", nó sẽ hoạt động khi sự kiện xuất hiện.

Bạn cảm thấy bài viết này như thế nào?
Video

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
3 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.