ObjectChain
Verarbeitungsobjekt der Nachrichtenhandlerkette
Das Chain-Objekt ist ein Nachrichtenprozessor-Kettenverarbeitungsobjekt in fibjs, das verwendet wird, um eine Reihe von Nachrichtenprozessoren zu verknüpfen und sie in einer bestimmten Reihenfolge zu verarbeiten. Die Methode zum Erstellen eines Chain-Objekts lautet wie folgt:
1
2
3var chain = new mq.Chain([
func1, func2
]);
Bei dieser Erstellungsmethode sind sowohl func1 als auch func2 Funktionsobjekte des Nachrichtenprozessors. Das Chain-Objekt verknüpft diese Prozessoren miteinander, um eine Prozessorkette zu bilden. Bei der Verarbeitung jeder Nachricht kann der Prozessor eine individuelle Verarbeitung der Nachricht durchführen und die Nachricht dann zur Verarbeitung an den nächsten Prozessor übergeben. Auf diese Weise kann eine Nachricht Schritt für Schritt bis zum Endzustand verarbeitet werden.
Die Funktion invoke() des Chain-Objekts wird zum Verarbeiten einer Nachricht oder eines Objekts verwendet. Wenn diese Funktion aufgerufen wird, übergibt das Chain-Objekt die Nachricht oder das Objekt der Reihe nach an jeden Prozessor und verarbeitet es in der Reihenfolge der Prozessoren, bis alle Prozessoren es verarbeitet haben. Während dieses Prozesses kann jeder Prozessor eine individuelle Verarbeitung der Nachricht oder des Objekts durchführen oder die Nachricht oder das Objekt zur Verarbeitung an den nächsten Prozessor weiterleiten.
In praktischen Anwendungen können Chain-Objekte auf verschiedene Szenarien angewendet werden. Beispielsweise können in einem Web-Framework Anforderungsnachrichten nacheinander zur Verarbeitung an jeden Prozessor weitergeleitet werden; in einer Nachrichtenwarteschlange kann ein Stapel von Nachrichten an jeden Prozessor weitergeleitet werden Reihenfolge. zur Bearbeitung. Die Verwendung von Chain-Objekten ist sehr flexibel und kann an die tatsächlichen Anforderungen angepasst werden. Es ist hoch skalierbar und wiederverwendbar.
Erbschaftsverhältnis
Konstrukteur
Chain
Konstruieren Sie ein Verarbeitungsobjekt für die Nachrichtenhandlerkette
1new Chain(Array hdlrs);
Aufrufparameter:
- hdlrs: Array, Prozessor-Array
Mitgliedsfunktion
append
Prozessor-Array hinzufügen
1Chain.append(Array hdlrs);
Aufrufparameter:
- hdlrs: Array, Prozessor-Array
Prozessor hinzufügen
1Chain.append(Handler hdlr);
Aufrufparameter:
- hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler
invoke
Verarbeiten Sie eine Nachricht oder ein Objekt
1Handler Chain.invoke(object v) async;
Aufrufparameter:
- v:objectGeben Sie die zu verarbeitende Nachricht oder das zu verarbeitende Objekt an
Rückgabeergebnisse:
- Handler, kehren Sie zum nächsten Prozessor zurück
toString
Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.
1String Chain.toString();
Rückgabeergebnisse:
- String, gibt die Zeichenfolgendarstellung des Objekts zurück
toJSON
Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.
1Value Chain.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält