首页 > 解决方案 > JS:我试图理解事件发射器与事件监听器

问题描述

我试图了解事件处理程序和事件发射器之间的区别。我了解事件侦听器以及如何附加它们,例如,以下内容:

let element = document.getElementById('test-id');

element.addEventListener('click', handleClick)
})

function handleClick() {
    console.log("is this function considered an event handler?")
}

但即使在阅读了有关事件发射器和处理程序的内容之后,我也不确切知道它们是如何发挥作用或在何处发挥作用的。

标签: javascript

解决方案


您可以在需要时调用 emit() 方法,传递事件名称和任意数量的参数。例如:

const EventEmitter = require( 'events' );
class MyClass extends EventEmitter {
    doSomething() {
        // do something...
        if ( !err )
            this.emit( 'success', result );
        else
            this.emit( 'error', err );
    }
}

您可以在此处找到 EventEmitter 类的完整 API 文档。

另请参阅此处什么是“事件发射器”?


推荐阅读