mq

消息队列模块

Field Summary

Type Method and Description
void public static static MessageMessageMessage

创建一个消息对象,参见 Message

void public static static HttpHandlerHttpHandlerHttpHandler

创建一个 http 协议处理器对象,参见 HttpHandler

void public static static HandlerHandlerHandler

创建一个消息处理器对象,传递值内置处理器则直接返回

void public static static ChainChainChain

创建一个消息处理器链处理对象,参见 Chain

void public static static RoutingRoutingRouting

创建一个消息处理器路由对象,参见 Routing

Method Summary

Type Method and Description
Handler await()

创建一个异步等待处理器

Handler nullHandler()

创建一个空处理器对象,次处理对象不做任何处理直接返回

void invoke(Handler hdlr,object v)

使用给定的处理器处理一个消息或对象

Field Detail

Message

void public static static MessageMessageMessage

创建一个消息对象,参见 Message

HttpHandler

void public static static HttpHandlerHttpHandlerHttpHandler

创建一个 http 协议处理器对象,参见 HttpHandler

Handler

void public static static HandlerHandlerHandler

创建一个消息处理器对象,传递值内置处理器则直接返回

Parameters

  • hdlr 内置消息处理器,处理函数,链式处理数组,路由对象:

  • Function javascript 函数,将使用此函数进行处理

  • Handler 内置处理器,将使用此处理器进行处理

  • 链式处理数组,等同于返回 new mq.Chain(hdlr),参见 Chain

  • 路由对象,等同于返回 new mq.Routing(hdlr),参见 Routing

Returns

返回封装了处理函数的处理器

消息处理函数语法如下:

function func(v){
}

参数 v 为正在处理的消息,返回结果允许有四种:

  • Function javascript 函数,将使用此函数进行下一阶段处理

  • Handler 内置处理器,将使用此处理器进行下一阶段处理

  • 链式处理数组,等同于 new mq.Chain(v),参见 Chain

  • 路由对象,等同于 new mq.Routing(v),参见 Routing

无返回或者其他的返回结果将结束消息处理。

Chain

void public static static ChainChainChain

创建一个消息处理器链处理对象,参见 Chain

Routing

void public static static RoutingRoutingRouting

创建一个消息处理器路由对象,参见 Routing

Method Detail

await

Handler await()

创建一个异步等待处理器

Returns

返回创建的处理器

异步等待处理器用于需要异步处理的消息处理模式,示例如下:

function func(v){
    var await = mq.await();

    call_some_async_func(v1, v2, v3, function() {
            await.end();
        });

    return await;
}

示例是一个 javascript 消息处理函数,当函数返回时,消息处理引擎将等待 await,直到 await.end 被调用,才继续下一阶段的处理。

nullHandler

Handler nullHandler()

创建一个空处理器对象,次处理对象不做任何处理直接返回

Returns

返回空处理函数

invoke

void invoke(Handler hdlr,object v)

使用给定的处理器处理一个消息或对象

Parameters

  • hdlr 指定使用的处理器

  • v 指定要处理的消息或对象

不同于处理器的 invoke 方法,此方法将循环调用每个处理器的返回处理器,直到处理器返回 null 为止。