• 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
广告

© . All rights reserved.