Hasor 異步事件

2018-10-07 09:49 更新

異步事件,異步事件是指當(dāng)主流程引發(fā)事件時(shí),不阻塞主流程,事件的執(zhí)行完全交給事件線程進(jìn)行異步調(diào)用。如果同時(shí)引發(fā)多個(gè)異步事件,會(huì)存在并發(fā)執(zhí)行的情況。異步事件非常適合用于不影響主流程的消息通知。下面就異步事件的特點(diǎn)加以詳細(xì)說(shuō)明

Hasor 異步事件


異步特點(diǎn):

  • 主流程的調(diào)用在引發(fā)事件之后即刻返回,事件執(zhí)行異步并發(fā)進(jìn)行。

觸發(fā)異步事件的方法為:

EventContext eventContext = ...
eventContext.fireSyncEvent(EventName, ...);


異步事件有兩種工作方式,由 FireType 枚舉定義:

  • Interrupt(順序執(zhí)行所有監(jiān)聽(tīng)器,如果中途出錯(cuò),那么終止執(zhí)行)
  • Continue(順序執(zhí)行所有監(jiān)聽(tīng)器,如果中途出錯(cuò),那么繼續(xù)執(zhí)行下一個(gè)監(jiān)聽(tīng)器)

fireSyncEvent 方法默認(rèn)的執(zhí)行方式是 Interrupt,下面是兩者的觸發(fā)方式:

EventContext eventContext = ...
eventContext.fireSyncEvent(EventName, ... ,FireType.Interrupt);
or
eventContext.fireSyncEvent(EventName, ... ,FireType.Continue);


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)