Mô-đun sự kiện Node

Mô-đun sự kiện của Node.js cung cấp lớp EventEmitter

Cáceventsmô-đun cung cấp cho chúng ta lớp EventEmitter, lớp này là chìa khóa để làm việc với các sự kiện trong Node.

Tôi đã xuất bản một bài báo đầy đủ về điều đó, vì vậy ở đây tôi sẽ chỉ mô tả API mà không có các ví dụ khác về cách sử dụng nó.

const EventEmitter = require('events')
const door = new EventEmitter()

Người nghe sự kiện ăn thức ăn cho chó của mình và sử dụng các sự kiện sau:

  • newListenerkhi một người nghe được thêm vào
  • removeListenerkhi một người nghe bị loại bỏ

Dưới đây là mô tả chi tiết về các phương pháp hữu ích nhất:

emitter.addListener()

Bí danh choemitter.on().

emitter.emit()

Phát ra một sự kiện. Nó đồng bộ gọi mọi người nghe sự kiện theo thứ tự mà họ đã đăng ký.

emitter.eventNames()

Trả về một mảng các chuỗi đại diện cho các sự kiện đã đăng ký trên EventListener hiện tại:

door.eventNames()

emitter.getMaxListeners()

Nhận số lượng người nghe tối đa mà người ta có thể thêm vào đối tượng EventListener, đối tượng này mặc định là 10 nhưng có thể tăng hoặc giảm bằng cách sử dụngsetMaxListeners()

door.getMaxListeners()

emitter.listenerCount()

Nhận số lượng người nghe của sự kiện được truyền dưới dạng tham số:

door.listenerCount('open')

emitter.listeners()

Nhận một mảng người nghe của sự kiện được truyền dưới dạng tham số:

door.listeners('open')

emitter.off()

Bí danh choemitter.removeListener() added in Node 10

emitter.on()

Thêm một hàm gọi lại được gọi khi một sự kiện được phát ra.

Sử dụng:

door.on('open', () => {
  console.log('Door was opened')
})

emitter.once()

Thêm một hàm gọi lại được gọi khi một sự kiện được phát ra lần đầu tiên sau khi đăng ký điều này. Lệnh gọi lại này sẽ chỉ được gọi một lần, không bao giờ được gọi lại.

const EventEmitter = require('events')
const ee = new EventEmitter()

ee.once(‘my-event’, () => { //call callback function once })

emitter.prependListener()

Khi bạn thêm người nghe bằng cách sử dụngonhoặc làaddListener, nó được thêm vào cuối cùng trong hàng đợi của người nghe và được gọi là cuối cùng. Sử dụngprependListenernó được thêm vào và được gọi trước những người nghe khác.

emitter.prependOnceListener()

Khi bạn thêm người nghe bằng cách sử dụngonce, nó được thêm vào cuối cùng trong hàng đợi của người nghe và được gọi là cuối cùng. Sử dụngprependOnceListenernó được thêm vào và được gọi trước những người nghe khác.

emitter.removeAllListeners()

Loại bỏ tất cả người nghe của một đối tượng trình phát sự kiện đang nghe một sự kiện cụ thể:

door.removeAllListeners('open')

emitter.removeListener()

Xóa một người nghe cụ thể. Bạn có thể thực hiện việc này bằng cách lưu hàm gọi lại vào một biến, khi được thêm vào, để bạn có thể tham khảo sau:

const doSomething = () => {}
door.on('open', doSomething)
door.removeListener('open', doSomething)

emitter.setMaxListeners()

Đặt số lượng người nghe tối đa mà người ta có thể thêm vào đối tượng EventListener, đối tượng này mặc định là 10 nhưng có thể tăng hoặc giảm.

door.setMaxListeners(50)

Tải xuống miễn phí của tôiSổ tay Node.js


Các hướng dẫn nút khác: