Module 基礎模塊

模塊mq

消息隊列模塊

對象

Message

創建一個消息對象,參見 Message

1
Message mq.Message;

HttpHandler

創建一個 http 協議處理器對象,參見 HttpHandler

1
HttpHandler mq.HttpHandler;

Handler

創建一個消息處理器對象,傳遞值內置處理器則直接返回

1
Handler mq.Handler;

返回結果:

  • 返回封裝了處理函數的處理器

hdlr 接受內置消息處理器,處理函數,鍊式處理數組,路由對象:

  • Function javascript 函數,將使用此函數進行處理
  • Handler 內置處理器,將使用此處理器進行處理
  • 鍊式處理數組,等同於返回new mq.Chain(hdlr),參見 Chain
  • 路由對象,等同於返回new mq.Routing(hdlr),參見 Routing

消息處理函數語法如下:

1
function func(v) {}

參數v 為正在處理的消息,返回結果允許有四種:

  • Function javascript 函數,將使用此函數進行下一階段處理
  • Handler 內置處理器,將使用此處理器進行下一階段處理
  • 鍊式處理數組,等同於new mq.Chain(v),參見 Chain
  • 路由對象,等同於new mq.Routing(v),參見 Routing

無返回或者其他的返回結果將結束消息處理。


Chain

創建一個消息處理器鏈處理對象,參見 Chain

1
Chain mq.Chain;

Routing

創建一個消息處理器路由對象,參見 Routing

1
Routing mq.Routing;

靜態函數

nullHandler

創建一個空處理器對象,次處理對像不做任何處理直接返回

1
static Handler mq.nullHandler();

返回結果:


invoke

使用給定的處理器處理一個消息或對象

1 2
static mq.invoke(Handler hdlr, object v) async;

調用參數:

  • hdlr: Handler, 指定使用的處理器
  • v: object, 指定要處理的消息或對象

不同於處理器的invoke 方法,此方法將循環調用每個處理器的返回處理器,直到處理器返回null 為止。