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
3var 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
1new Chain(Array hdlrs);
Oproepparameters:
- hdlrs: Array, processorarray
lid functie
append
Voeg processorarray toe
1Chain.append(Array hdlrs);
Oproepparameters:
- hdlrs: Array, processorarray
Voeg processor toe
1Chain.append(Handler hdlr);
Oproepparameters:
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
invoke
Verwerk een bericht of object
1Handler 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.
1String 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.
1Value Chain.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat