Objekt integriertes Objekt

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 3
var 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

1
new Chain(Array hdlrs);

Aufrufparameter:

  • hdlrs: Array, Prozessor-Array

Mitgliedsfunktion

append

Prozessor-Array hinzufügen

1
Chain.append(Array hdlrs);

Aufrufparameter:

  • hdlrs: Array, Prozessor-Array

Prozessor hinzufügen

1
Chain.append(Handler hdlr);

Aufrufparameter:

  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

invoke

Verarbeiten Sie eine Nachricht oder ein Objekt

1
Handler 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.

1
String 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.

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält