Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
ctx.exitAll()
Termine le flux d'événements actuel ainsi que tous les flux d'événements subséquents déclenchés lors de la même répartition d'événements. Il est couramment utilisé lorsque tous les flux d'événements liés à l'événement actuel doivent être interrompus immédiatement en raison d'une erreur globale ou d'un échec de validation des permissions.
Scénarios d'utilisation
ctx.exitAll() est généralement utilisé dans des contextes où du code JS est exécutable et lorsqu'il est nécessaire d'interrompre simultanément le flux d'événements actuel et les flux d'événements subséquents déclenchés par cet événement :
Différence avec
ctx.exit():ctx.exit()termine uniquement le flux d'événements actuel ;ctx.exitAll()termine le flux d'événements actuel et tous les flux d'événements subséquents non encore exécutés dans la même répartition d'événements.
Définition du type
L'appel à ctx.exitAll() lève une exception interne FlowExitAllException, qui est capturée par le moteur de flux pour arrêter l'instance du flux d'événements actuel et les flux d'événements suivants liés au même événement. Une fois appelé, les instructions restantes dans le code JS actuel ne seront pas exécutées.
Comparaison avec ctx.exit()
Modes d'exécution
- Exécution séquentielle (sequential) : Les flux d'événements sous le même événement sont exécutés dans l'ordre. Si un flux d'événements appelle
ctx.exitAll(), les flux d'événements suivants ne seront pas exécutés. - Exécution parallèle (parallel) : Les flux d'événements sous le même événement sont exécutés en parallèle. L'appel à
ctx.exitAll()dans un flux d'événements n'interrompra pas les autres flux d'événements déjà lancés (car ils sont indépendants).
Exemples
Terminer tous les flux d'événements en cas d'échec de validation des permissions
Terminer en cas d'échec de la pré-validation globale
Choisir entre ctx.exit() et ctx.exitAll()
Afficher un message avant de terminer
Remarques
- Après l'appel à
ctx.exitAll(), le code suivant dans le JS actuel ne sera pas exécuté. Il est recommandé d'expliquer la raison à l'utilisateur viactx.message,ctx.notificationou une fenêtre modale avant l'appel. - Le code métier n'a généralement pas besoin de capturer
FlowExitAllException; laissez le moteur de flux s'en charger. - Si vous avez seulement besoin d'arrêter le flux d'événements actuel sans affecter les suivants, utilisez
ctx.exit(). - En mode parallèle,
ctx.exitAll()termine uniquement le flux d'événements actuel et n'interrompt pas les autres flux d'événements déjà en cours.
Voir aussi
- ctx.exit() : Termine uniquement le flux d'événements actuel
- ctx.message : Messages d'alerte
- ctx.modal : Fenêtre modale de confirmation

