Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.exitAll()
Encerra o fluxo de eventos atual e todos os fluxos de eventos subsequentes disparados no mesmo despacho de evento. É comumente usado quando todos os fluxos de eventos sob o evento atual precisam ser abortados imediatamente devido a um erro global ou falha na validação de permissão.
Cenários de uso
O ctx.exitAll() é geralmente usado em contextos onde o JS é executável e quando é necessário interromper simultaneamente o fluxo de eventos atual e os fluxos de eventos subsequentes disparados por esse evento:
Diferença do
ctx.exit(): Octx.exit()encerra apenas o fluxo de eventos atual; octx.exitAll()encerra o fluxo de eventos atual e quaisquer fluxos de eventos subsequentes não executados no mesmo despacho de evento.
Definição de Tipo
Chamar ctx.exitAll() lança uma exceção interna FlowExitAllException, que é capturada pelo motor de fluxo para parar a instância do fluxo de eventos atual e os fluxos de eventos subsequentes sob o mesmo evento. Uma vez chamado, as instruções restantes no código JS atual não serão executadas.
Comparação com ctx.exit()
Explicação do Modo de Execução
- Execução sequencial (sequential): Os fluxos de eventos sob o mesmo evento são executados em ordem. Após qualquer fluxo de eventos chamar
ctx.exitAll(), os fluxos de eventos subsequentes não serão executados. - Execução paralela (parallel): Os fluxos de eventos sob o mesmo evento são executados em paralelo. Chamar
ctx.exitAll()em um fluxo de eventos não interromperá outros fluxos de eventos concorrentes (pois são independentes).
Exemplos
Encerrar todos os fluxos de eventos quando a validação de permissão falhar
Encerrar quando a pré-validação global falhar
Escolhendo entre ctx.exit() e ctx.exitAll()
Exibir mensagem antes de encerrar
Notas
- Após chamar
ctx.exitAll(), o código subsequente no JS atual não será executado. Recomenda-se explicar o motivo ao usuário viactx.message,ctx.notificationou um modal antes de chamá-lo. - O código de negócio geralmente não precisa capturar
FlowExitAllException; deixe o motor de fluxo lidar com isso. - Se você precisar apenas parar o fluxo de eventos atual sem afetar os subsequentes, use
ctx.exit(). - No modo paralelo, o
ctx.exitAll()encerra apenas o fluxo de eventos atual e não interrompe outros fluxos de eventos concorrentes.
Relacionado
- ctx.exit(): Encerra apenas o fluxo de eventos atual
- ctx.message: Mensagens de alerta
- ctx.modal: Modal de confirmação

