【问题标题】:Event Emitter Library with priority levels?具有优先级的事件发射器库?
【发布时间】:2024-04-30 18:50:01
【问题描述】:

有人可以推荐一个小型事件库(ES5),让您在绑定到事件时设置优先级吗?它可以是基于 jquery 或 vanilla javascript。 到目前为止,我只见过一个,叫做 Signal Emitter:(http://blog.millermedeiros.com/signal-emitter/) 但我认为肯定还有更多。 谢谢!

【问题讨论】:

    标签: javascript events eventemitter


    【解决方案1】:

    我个人会选择可以使用prependListener 设置的开箱即用订单,看看这个例子:

    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    //   b
    //   a
    

    默认情况下,事件侦听器按添加顺序调用。可以使用emitter.prependListener() 方法将事件侦听器添加到侦听器数组的开头。

    【讨论】: