• Node.js Video Tutorials

NodeJS - eventTarget.dispatchEvent() 方法


eventTarget.dispatchEvent() 方法用於在指定的 EventTarget 上分發一個事件,並按新增順序呼叫受影響的 EventListeners。

此方法屬於 node:events 模組的 EventTarget 類。

語法

以下是 NodeJs eventTarget.dispatchEvent() 方法的語法:

eventTarget.dispatchEvent(event)

引數

此方法只接受一個引數。

  • event: 此引數儲存要分發的 Event 物件。

返回值

如果至少一個處理該特定事件的事件處理程式呼叫了 Event.preventDefault() 方法,則此方法的返回值為 false,否則返回 true。

示例 1

以下是 NodeJs eventTarget.dispatchEvent() 方法的基本示例。

首先,我們匯入了 node:events 模組。然後我們使用建構函式建立了一個事件。然後,我們向名為“event”的事件添加了一個監聽器。然後,我們透過呼叫 eventTarget.dispatchEvent() 並將“event”作為引數傳遞給它來分發事件。

const { EventEmitter, listenerCount } = require('node:events');
const { eventNames } = require('node:process');

const eventtarget = new EventTarget();

const event = new Event('build');

// Listen for the event.
eventtarget.addEventListener('build', (event) => { console.log(‘Hello’) }, false);

// Dispatch the event.
eventtarget.dispatchEvent(event);

輸出

Hello

示例 2

在這個程式中,它沒有直接使用 dispatchEvent(),但它具有類似的目的。

const { EventEmitter } = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

myEmitter.on('event', () => {
  console.log('an event occurred!');
});

myEmitter.emit('event');

輸出

an event occurred!
nodejs_events.htm
廣告