Skip to main content

Share Everywhere

Table of contents

Hướng dẫn một ví dụ nhỏ về EventEmitter trong Node JS

>> Hướng dẫn [Windows] Install Mongodb - Phần 19

>> Hướng dẫn [Ubuntu] Install Mongodb - Phần 20

Nhập khẩu module events, và khai báo một đối tượng EventEmitter

// Import events module
var events = require('events');
 
// Create an EventEmitter object
var eventEmitter = new events.EventEmitter();

Đăng ký các Listener (Các hàm sẽ được gọi thực thi khi sự kiện xẩy ra).

// Add Event Listener
eventEmitter.addListener('bellRing', bellRingHandler1);
 
// Add Event Listener
eventEmitter.addListener('bellRing', bellRingHandler2);

Phát ra sự kiện

// Fire bellRing event!!
eventEmitter.emit('bellRing', 'Jerry');

Tổng hợp

first-example.js

// Import events module
var events = require('events');
 
 
// Create an eventEmitter object
var eventEmitter = new events.EventEmitter();
 
// A Listener
var bellRingHandler1 = function bellRingHandler1(who) {
   console.log("\n");
   console.log('The Bell Ringing..... (Handler 1)');
 
   console.log(" " + who + " was standing behind the door!");
   if(who == 'Jerry') {
       console.log(' Tom, help me!!');
       return;
   }
   console.log(" Welcome " + who);
}
 
// A Listener
var bellRingHandler2 = function bellRingHandler2(who) {
   console.log("\n");
   console.log('The Bell Ringing..... (Handler 2)');
 
   eventEmitter.emit("nobodyIsAtHome");
}
 
// A Listener
var nobodyIsAtHomeHandler = function nobodyIsAtHomeHandler()  {
   console.log("\n");
   console.log(" Sorry, Nobody is at home now, Please leave your message!")
}
 
 
// Add Event Listeners
eventEmitter.addListener('bellRing', bellRingHandler1);
eventEmitter.addListener('bellRing', bellRingHandler2);
 
eventEmitter.addListener('nobodyIsAtHome', nobodyIsAtHomeHandler);
 
// ----- Testing ------
 
// Fire bellRing event!!
eventEmitter.emit('bellRing', 'Jerry');

Chạy ví dụ

node eventemitter-examples/first-example.js
node eventemitter-examples/first-example.js
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.
5 + 8 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.