Object-ingebouwd object

ObjectChain

Ketenverwerkingsobject voor berichtenhandler

Het Chain-object is een berichtprocessorketenverwerkingsobject in fibjs, dat wordt gebruikt om een ​​reeks berichtprocessors te koppelen en deze in een bepaalde volgorde te verwerken. De methode om een ​​Chain-object te maken is als volgt:

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

Bij deze aanmaakmethode zijn zowel func1 als func2 functieobjecten van de berichtenprocessor. Het Chain-object koppelt deze processors aan elkaar om een ​​processorketen te vormen. Bij het verwerken van elk bericht kan de processor een aangepaste verwerking van het bericht uitvoeren en het bericht vervolgens ter verwerking aan de volgende processor doorgeven. Op deze manier kan een bericht stap voor stap worden verwerkt tot aan de eindtoestand.

De functie invoke() van het Chain-object wordt gebruikt om een ​​bericht of object te verwerken. Wanneer deze functie wordt aangeroepen, geeft het Chain-object het bericht of object achtereenvolgens door aan elke processor en verwerkt het in processorvolgorde totdat alle processors het hebben verwerkt. Tijdens dit proces kan elke processor een aangepaste verwerking van het bericht of object uitvoeren, of ervoor kiezen om het bericht of object ter verwerking door te geven aan de volgende processor.

In praktische toepassingen kunnen Chain-objecten worden toegepast op verschillende scenario's. In een webframework kunnen bijvoorbeeld verzoekberichten achtereenvolgens aan elke processor worden doorgegeven voor verwerking; in een berichtenwachtrij kan een batch berichten aan elke processor worden doorgegeven. volgorde voor verwerking. Het gebruik van Chain-objecten is zeer flexibel, kan worden aangepast aan de werkelijke behoeften, is zeer schaalbaar en herbruikbaar.

erfenis relatie

Constructeur

Chain

Construeer een verwerkingsobject voor de berichtenhandlerketen

1
new Chain(Array hdlrs);

Oproepparameters:

  • hdlrs: Array, processorarray

lid functie

append

Voeg processorarray toe

1
Chain.append(Array hdlrs);

Oproepparameters:

  • hdlrs: Array, processorarray

Voeg processor toe

1
Chain.append(Handler hdlr);

Oproepparameters:

  • hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler

invoke

Verwerk een bericht of object

1
Handler Chain.invoke(object v) async;

Oproepparameters:

  • v:object, geef het bericht of object op dat moet worden verwerkt

Resultaten retourneren:

  • Handler, ga terug naar de volgende processor

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String Chain.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat