Objeto incorporado

Cadena de objetos

Objeto de procesamiento de cadena de controlador de mensajes

El objeto Chain es un objeto de procesamiento de cadena de procesador de mensajes en fibjs, que se utiliza para vincular una serie de procesadores de mensajes y procesarlos en un orden específico. El método para crear un objeto Cadena es el siguiente:

1 2 3
var chain = new mq.Chain([ func1, func2 ]);

En este método de creación, tanto func1 como func2 son objetos de función del procesador de mensajes. El objeto Cadena vincula estos procesadores para formar una cadena de procesadores. Al procesar cada mensaje, el procesador puede realizar un procesamiento personalizado del mensaje y luego entregar el mensaje al siguiente procesador para su procesamiento. De esta forma, un mensaje se puede procesar paso a paso hasta el estado final.

La función invoke() del objeto Chain se utiliza para procesar un mensaje u objeto. Cuando se llama a esta función, el objeto Cadena pasa el mensaje u objeto a cada procesador por turno, procesándolo en el orden del procesador hasta que todos los procesadores lo hayan procesado. Durante este proceso, cada procesador puede realizar un procesamiento personalizado del mensaje u objeto, o elegir pasar el mensaje u objeto al siguiente procesador para su procesamiento.

En aplicaciones prácticas, los objetos Chain se pueden aplicar a varios escenarios. Por ejemplo, en un marco web, los mensajes de solicitud se pueden pasar a cada procesador en secuencia para su procesamiento; en una cola de mensajes, se puede pasar un lote de mensajes a cada procesador en secuencia para el procesamiento. El uso de objetos Chain es muy flexible, se puede personalizar según las necesidades reales, es altamente escalable y reutilizable.

relación de herencia

Constructor

Chain

Construir un objeto de procesamiento de cadena de controlador de mensajes

1
new Chain(Array hdlrs);

Parámetros de llamada:

  • hdlrs: Matriz, matriz de procesador

función miembro

append

Agregar matriz de procesadores

1
Chain.append(Array hdlrs);

Parámetros de llamada:

  • hdlrs: Matriz, matriz de procesador

Agregar procesador

1
Chain.append(Handler hdlr);

Parámetros de llamada:

  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

invoke

Procesar un mensaje u objeto

1
Handler Chain.invoke(object v) async;

Parámetros de llamada:

  • v:object, especifique el mensaje u objeto a procesar

Resultados de devolución:

  • Handler, volver al siguiente procesador

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String Chain.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

1
Value Chain.toJSON(String key = "");

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable