events.getEventListeners(emitterOrTarget, eventName)


返回名为 eventName 的事件的监听器数组的副本。

¥Returns a copy of the array of listeners for the event named eventName.

对于 EventEmitter,这与在触发器上调用 .listeners 的行为完全相同。

¥For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

对于 EventTarget,这是获取事件目标的事件监听器的唯一方法。这对于调试和诊断目的很有用。

¥For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

import { getEventListeners, EventEmitter } from 'node:events';

{
  const ee = new EventEmitter();
  const listener = () => console.log('Events are fun');
  ee.on('foo', listener);
  getEventListeners(ee, 'foo'); // [listener]
}
{
  const et = new EventTarget();
  const listener = () => console.log('Events are fun');
  et.addEventListener('foo', listener);
  getEventListeners(et, 'foo'); // [listener]
}const { getEventListeners, EventEmitter } = require('node:events');

{
  const ee = new EventEmitter();
  const listener = () => console.log('Events are fun');
  ee.on('foo', listener);
  getEventListeners(ee, 'foo'); // [listener]
}
{
  const et = new EventTarget();
  const listener = () => console.log('Events are fun');
  et.addEventListener('foo', listener);
  getEventListeners(et, 'foo'); // [listener]
}