EventBus的执行顺序

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

EventBus的执行顺序

EventBus支持Action与Handler一对一的定义,也支持ActionHandler一对多的定义
EventBus不管是前端还是后台,都是按注册事件的顺序执行。
当事件触发时,首先查询到全部事件的处理器(plugs),按【before】、【override】、【after】形成三个队列,插入类型为空时默认是【after】。
然后先按倒序执行【before】队列的处理器,然后按正序执行【override】队列的处理器中的最后一个处理器,最后按正序执行【after】队列的处理器。
因此,目前只有【override】队列的处理器可能被override而不执行,而其他【before】、【after】队列中的处理器一定会被执行到。


前端EventBus中,可以在处理器中通过返回false来终止后续处理器的执行。
后台EventBus中,目前只能在处理器中通过抛出异常来终止后续处理器的执行。







::victory::victory::victory::victory
:victory:
说的很有道理,赞同
两个问题:
1、override or overwrite?还是两个都行?
2、“前端EventBus中,可以在处理器中通过返回false来终止后续处理器的执行”,是包括终止before/override/after三个队列的所有处理器吗?还是仅终止同一队列的处理器?

赞:victory:

EventBus的执行顺序

EventBus支持Action与Handler一对一的定义,也支持Action与Handler一对多的定义EventBus不管是前端还是后台,都是按注册事件的顺序执行。当...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息