ObjectChain
Obxecto de procesamento da cadea do manejador de mensaxes
O obxecto Chain é un obxecto de procesamento de cadea de procesador de mensaxes en fibjs, que se usa para vincular unha serie de procesadores de mensaxes e procesalos nunha orde especificada. O método para crear un obxecto Chain é o seguinte:
1
2
3var chain = new mq.Chain([
func1, func2
]);
Neste método de creación, tanto func1 como func2 son obxectos función do procesador de mensaxes. O obxecto Chain enlaza estes procesadores para formar unha cadea de procesadores. Ao procesar cada mensaxe, o procesador pode realizar un procesamento personalizado da mensaxe e, a continuación, entregar a mensaxe ao procesador seguinte para procesala. Deste xeito, unha mensaxe pódese procesar paso a paso ata o estado final.
A función invoke() do obxecto Chain úsase para procesar unha mensaxe ou obxecto. Cando se chama a esta función, o obxecto Chain pasa a mensaxe ou obxecto a cada procesador á súa vez, procesándoo na orde do procesador ata que todos os procesaron. Durante este proceso, cada procesador pode realizar un procesamento personalizado da mensaxe ou do obxecto, ou optar por pasar a mensaxe ou o obxecto ao seguinte procesador para que o procese.
En aplicacións prácticas, os obxectos Chain pódense aplicar a varios escenarios. Por exemplo, nun marco web, as mensaxes de solicitude poden pasarse a cada procesador en secuencia para o seu procesamento; nunha cola de mensaxes pódese pasar un lote de mensaxes a cada procesador en secuencia.para o procesamento. O uso de obxectos Chain é moi flexible e pódese personalizar segundo as necesidades reais, é altamente escalable e reutilizable.
relación de herdanza
Construtor
Chain
Constrúe un obxecto de procesamento de cadea de controlador de mensaxes
1new Chain(Array hdlrs);
Parámetros de chamada:
- hdlrs: Array, matriz de procesadores
función de membro
append
Engadir matriz de procesadores
1Chain.append(Array hdlrs);
Parámetros de chamada:
- hdlrs: Array, matriz de procesadores
Engadir procesador
1Chain.append(Handler hdlr);
Parámetros de chamada:
- hdlr:Handler, procesador de mensaxes integrado, función de procesamento, matriz de procesamento en cadea, obxecto de enrutamento, ver detallesmq.Handler
invoke
Procesar unha mensaxe ou obxecto
1Handler Chain.invoke(object v) async;
Parámetros de chamada:
- v:object, especifique a mensaxe ou o obxecto que se vai procesar
Resultados de devolución:
- Handler, volva ao seguinte procesador
toString
Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.
1String Chain.toString();
Resultados de devolución:
- String, devolve a representación en cadea do obxecto
toJSON
Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.
1Value Chain.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
Resultados de devolución:
- Value, devolve un valor que contén JSON serializable