Module 基礎模組

模組mq

訊息隊列模組

物件

Message

建立一個訊息​​對象,參見Message

1
Message mq.Message;

HttpHandler

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

1
HttpHandler mq.HttpHandler;

Handler

建立一個訊息​​處理器對象,傳遞值內建處理器則直接傳回

1
Handler mq.Handler;

回傳結果:

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

hdlr 接受內建訊息處理器,處理函數,鍊式處理數組,路由物件:

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

訊息處理函數語法如下:

1
function func(v) {}

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

  • Function javascript 函數,將使用此函數進行下一階段處理
  • Handler內建處理器,將使用此處理器進行下一階段處理
  • 鍊式處理數組,等同於newmq.Chain(v),參見Chain
  • 路由對象,等同於newmq.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 為止。