Javascript 在PubSub/Observer模式中排队事件

Javascript 在PubSub/Observer模式中排队事件,javascript,observer-pattern,publish-subscribe,Javascript,Observer Pattern,Publish Subscribe,我总是发现直接进入一个例子比较容易 object.on('eventone', function() { console.log('eventone - listener one'); object.trigger('eventtwo'); }); object.on('eventone', function() { console.log('eventone - listener two'); }); object.on('eventtwo', function() { con

我总是发现直接进入一个例子比较容易

object.on('eventone', function() {
  console.log('eventone - listener one');
  object.trigger('eventtwo');
});
object.on('eventone', function() {
  console.log('eventone - listener two');
});
object.on('eventtwo', function() {
  console.log('eventtwo');
});
object.trigger('eventone');
在大多数PubSub实现中,这将导致以下日志顺序:

  • 事件一-监听器一
  • 事件二
  • 事件一-监听器二
  • 在过去,这就提出了这个序列的语义问题。开发人员通常会假设“eventone”的所有侦听器都在“eventtwo”开始之前启动,这可能会进一步引入序列逻辑错误。更合理的日志顺序可能是:

  • 事件一-监听器一
  • 事件一-监听器二
  • 事件二
  • 所以我想问题是-为什么大多数实现不遵循事件队列?使用它与不使用它有什么可能的影响


    干杯

    Pubsub旨在使一个订户不依赖、不知道或不受其他订户的阻碍。以下几个问题探讨了每种方法的优缺点:


    Pubsub旨在使一个订户不依赖、不知道或不受其他订户的阻碍。以下几个问题探讨了每种方法的优缺点: