繁体   English   中英

PubSub / Observer模式中的排队事件

[英]Queueing events in the PubSub / Observer patterns

我总是发现直接学习一个示例更容易。

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实现中,这导致以下日志顺序:

  1. eventone-侦听器一
  2. 事件二
  3. eventone-侦听器二

在过去,这已经提出了该序列的语义问题。 通常,开发人员会假设“ eventtwo”开始之前已经触发了所有“ eventone”的侦听器,这可能会在后续过程中引入顺序逻辑错误。 更明智的日志顺序可能是:

  1. eventone-侦听器一
  2. eventone-侦听器二
  3. 事件二

所以我想问题是-为什么大多数实现不遵循事件排队? 与否相比,使用它可能会有哪些影响。

干杯!

Pubsub的工作目的是使一个订户不受其他订户的依赖,了解或阻碍。 以下是几个问题,探讨了每种方法的利弊:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM