Sự kiện Node.js


Node.js hoàn hảo cho các ứng dụng hướng sự kiện.


Sự kiện trong Node.js

Mỗi hành động trên máy tính là một sự kiện. Giống như khi kết nối được thực hiện hoặc một tệp được mở.

Các đối tượng trong Node.js có thể kích hoạt các sự kiện, như đối tượng readStream kích hoạt các sự kiện khi mở và đóng một tệp:

Thí dụ

var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
  console.log('The file is open');
});

Mô-đun sự kiện

Node.js có một mô-đun tích hợp, được gọi là "Sự kiện", nơi bạn có thể tạo, khởi tạo và lắng nghe các sự kiện của riêng mình.

Để bao gồm mô-đun Sự kiện tích hợp, hãy sử dụng require() phương pháp này. Ngoài ra, tất cả các thuộc tính và phương thức sự kiện là một thể hiện của một đối tượng EventEmitter. Để có thể truy cập các thuộc tính và phương thức này, hãy tạo một đối tượng EventEmitter:

var events = require('events');
var eventEmitter = new events.EventEmitter();

Đối tượng EventEmitter

Bạn có thể chỉ định trình xử lý sự kiện cho các sự kiện của riêng mình bằng đối tượng EventEmitter.

Trong ví dụ dưới đây, chúng tôi đã tạo một hàm sẽ được thực thi khi một sự kiện "hét lên" được kích hoạt.

Để kích hoạt một sự kiện, hãy sử dụng emit()phương pháp này.

Thí dụ

var events = require('events');
var eventEmitter = new events.EventEmitter();

//Create an event handler:
var myEventHandler = function () {
  console.log('I hear a scream!');
}

//Assign the event handler to an event:
eventEmitter.on('scream', myEventHandler);

//Fire the 'scream' event:
eventEmitter.emit('scream');