Phần 7: Events

Các phần trước:

Phần 4: File System (P2)

Phần 5: File System (P3)

Phần 6: NPM

 

 

Events trong Node.js

Mọi hành động trên máy tính đều là một event. Giống như khi tạo ra một kết nối hoặc mở một file. Những đối tượng trong Node.js có thể tạo ra các event:

var fs = require('fs');
var rs = fs.createReadStream('./text.txt');

//Đối tượng readStream tạo ra sự kiện khi mở và đóng một file
rs.on('open', function () {
  console.log('The file is open');
});

 

 

Module Events

Node.js đã xây dựng một module tên là "events", nơi mà bạn có thể tạo ra, tác động và theo dõi những event của riêng bạn. Để gọi module event, ta sử dụng phương thức require(). Ngoài ra, tất cả thuộc tính và phương thức của event là thể hiện một đối tương EventEmitter. Để có thể truy cập các thuộc tính và phương thức của đối tượng này, ta cần phải tạo đối tượng EventEnitter:

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

 

 

Đối tượng EventEmitter

Bạn có thể gán các trình xử lý sự kiện cho các event của riêng bạn với đối tượng EventEmitter.

Để bắn một event, ta dùng phương thức emit():

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

//Tạo một function:
var myEventHandler = function () {
  console.log('I have a dream!');
}

//Khi hứng được event 'dream', sẽ chạy function myEventHandler
eventEmitter.on('dream', myEventHandler);

//Bắn event 'dream':
eventEmitter.emit('dream');