1. Trang chủ
  2. » Thể loại khác

lop event emitter trong nodejs

4 106 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Event Emitter Node.js Nhiều đối tượng Node.js sinh kiện, ví dụ net.Server sinh kiện có kết nối ngang hàng đến nó, hay fs.readStream sinh kiện file mở Tất đối tượng thể lớp events.EventEmitter Node.js Lớp EventEmitter Node.js Lớp EventEmitter nằm events Module Lớp truy cập qua cú pháp sau: // Khai bao events Module var events = require('events'); // Tao mot doi tuong eventEmitter var eventEmitter = new events.EventEmitter(); Khi EventEmitter gặp lỗi nào, sinh Error Event Khi Listener thêm, kiện ‘newListener’ kích hoạt Listener bị loại bỏ, kiện ‘removeListener’ kích hoạt Event Emitter cung cấp nhiều thuộc tính on hay emit Thuộc tính on sử dụng để gắn kết hàm với kiện, emit dược sử dụng để kích hoạt kiện Các phương thức lớp EventEmitter Node.js Stt Phương thức & Miêu tả addListener(event, listener) Thêm Listener vào phần cuối mảng Listener cho kiện cụ thể on(event, listener) Thêm Listener vào phần cuối mảng Listener cho kiện cụ thể once(event, listener) Thêm One-Time Listener cho kiện Listener dạng gọi kiện http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     kích hoạt, sau bị xóa removeListener(event, listener) Xóa Listener khỏi mảng Listener cho kiện removeAllListeners([event]) Xóa tất Listener kiện setMaxListeners(n) Theo mặc định, lớp EventEmitters in lời cảnh báo bạn thêm nhiều 10 Listener cho kiện cụ thể Việc hữu ích, giúp tìm lỗi gây rò rỉ nhớ Tất nhiên, khơng phải tất Emitters cần giới hạn với số 10 Hàm cho phép bạn tăng số Thiết lập để không giới hạn lượng Listener cần thêm listeners(event) Trả mảng bao gồm Listener cho kiện cụ thể emit(event, [arg1], [arg2], [ ]) Thực thi Listener với tham số cho Trả true kiện có Listener, false khơng có Các kiện lớp EventEmitter Node.js Stt Sự kiện & Miêu tả newListener • event - Dạng chuỗi, biểu diễn tên kiện • listener - Tên hàm xử lý kiện Sự kiện sinh bạn thêm Listener Khi kiện kích hoạt, Listener chưa thêm vào mảng Listener kiện removeListener http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     • event - Dạng chuỗi, biểu diễn tên kiện • listener - Tên hàm xử lý kiện Sự kiện xảy có xóa Listener Khi kiện kích hoạt, Listener chưa xóa khỏi mảng Listener kiện Ví dụ minh họa lớp EventEmitter Node.js Tạo file js với tên main.js với nội dụng Node.js Trong main.js, bạn khai báo events Module sử dụng phương thức require() Tiếp đó, bạn sử dụng phương thức addListener() để thêm Listener cho kiện đó, sử dụng thuộc tính on emit để thực tính trình bày var events = require('events'); var eventEmitter = new events.EventEmitter(); // listener #1 var listner1 = function listner1() { console.log('listener1 duoc thuc thi.'); } // listener #2 var listner2 = function listner2() { console.log('listener2 duoc thuc thi.'); } // Gan ket su kien connection voi ham listner1 eventEmitter.addListener('connection', listner1); // Gan ket su kien connection voi ham listner2 eventEmitter.on('connection', listner2); var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection'); console.log(eventListeners + " Event Listner dang lang nghe su kien connection"); // Fire the connection event eventEmitter.emit('connection'); // Remove the binding of listner1 function eventEmitter.removeListener('connection', listner1); console.log("Bay gio, Listner1 se khong lang nghe."); // Fire the connection event eventEmitter.emit('connection'); eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection'); console.log(eventListeners + " Event Listner dang lang nghe su kien connection"); console.log("Ket thuc chuong trinh."); Chạy main.js để xem kết quả: $ node main.js Kiểm tra kết quả: Event Listner dang lang nghe su kien connection listener1 duoc thuc thi listener2 duoc thuc thi Bay gio, Listner1 se khong lang nghe listener2 duoc thuc thi Event Listner dang lang nghe su kien connection Ket thuc chuong trinh http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   ... listner1 eventEmitter.addListener('connection', listner1); // Gan ket su kien connection voi ham listner2 eventEmitter.on('connection', listner2); var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');... cho kiện đó, sử dụng thuộc tính on emit để thực tính trình bày var events = require('events'); var eventEmitter = new events.EventEmitter(); // listener #1 var listner1 = function listner1() { console.log('listener1... require('events').EventEmitter.listenerCount(eventEmitter,'connection'); console.log(eventListeners + " Event Listner dang lang nghe su kien connection"); // Fire the connection event eventEmitter.emit('connection');

Ngày đăng: 02/12/2017, 12:24

Xem thêm:

TỪ KHÓA LIÊN QUAN

w