Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
ctx.exitAll()
Beendet den aktuellen Workflow und alle nachfolgenden Workflows, die in derselben Ereignis-Verteilung (Event Dispatch) ausgelöst wurden. Dies wird häufig verwendet, wenn aufgrund eines globalen Fehlers oder einer fehlgeschlagenen Berechtigungsprüfung alle Workflows unter dem aktuellen Ereignis sofort abgebrochen werden müssen.
Anwendungsbereiche
ctx.exitAll() wird im Allgemeinen in Kontexten verwendet, in denen JavaScript ausgeführt werden kann und gleichzeitig der aktuelle Workflow sowie alle durch dieses Ereignis ausgelösten nachfolgenden Workflows abgebrochen werden müssen:
Unterschied zu
ctx.exit():ctx.exit()beendet nur den aktuellen Workflow;ctx.exitAll()beendet den aktuellen Workflow und alle noch nicht ausgeführten nachfolgenden Workflows in derselben Ereignis-Verteilung.
Typdefinition
Der Aufruf von ctx.exitAll() wirft eine interne FlowExitAllException aus, die von der Workflow-Engine abgefangen wird, um die aktuelle Workflow-Instanz und nachfolgende Workflows unter demselben Ereignis zu stoppen. Sobald die Funktion aufgerufen wird, werden die verbleibenden Anweisungen im aktuellen JS-Code nicht mehr ausgeführt.
Vergleich mit ctx.exit()
Erläuterung der Ausführungsmodi
- Sequenzielle Ausführung (sequential): Workflows unter demselben Ereignis werden nacheinander ausgeführt. Sobald ein Workflow
ctx.exitAll()aufruft, werden die nachfolgenden Workflows nicht mehr ausgeführt. - Parallele Ausführung (parallel): Workflows unter demselben Ereignis werden parallel ausgeführt. Der Aufruf von
ctx.exitAll()in einem Workflow unterbricht andere bereits laufende Workflows nicht (da diese unabhängig sind).
Beispiele
Beenden aller Workflows bei fehlgeschlagener Berechtigungsprüfung
Beenden bei fehlgeschlagener globaler Vorab-Validierung
Wahl zwischen ctx.exit() und ctx.exitAll()
Erst Hinweis ausgeben, dann beenden
Hinweise
- Nach dem Aufruf von
ctx.exitAll()wird der nachfolgende Code im aktuellen JS nicht mehr ausgeführt. Es wird empfohlen, dem Benutzer den Grund vor dem Aufruf überctx.message,ctx.notificationoder ein Modal zu erklären. - Im Business-Code ist es normalerweise nicht erforderlich, die
FlowExitAllExceptionabzufangen; überlassen Sie dies der Workflow-Engine. - Wenn Sie nur den aktuellen Workflow stoppen möchten, ohne die nachfolgenden zu beeinflussen, verwenden Sie
ctx.exit(). - Im parallelen Modus beendet
ctx.exitAll()nur den aktuellen Workflow und unterbricht keine anderen bereits laufenden Workflows.
Verwandte Themen
- ctx.exit(): Beendet nur den aktuellen Workflow
- ctx.message: Nachrichten-Hinweise
- ctx.modal: Bestätigungs-Modal

