Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
Encerra a execução do fluxo de eventos atual; as etapas subsequentes não serão executadas. É comumente usado quando as condições de negócio não são atendidas, o usuário cancela ou ocorre um erro irrecuperável.
O ctx.exit() é geralmente usado nos seguintes contextos onde o JS pode ser executado:
| Cenário | Descrição |
|---|---|
| Fluxo de eventos | Em fluxos de eventos acionados por envios de formulários, cliques em botões, etc., interrompe as etapas subsequentes quando as condições não são atendidas. |
| Regras de vinculação | Em vinculações de campos, vinculações de filtros, etc., encerra o fluxo de eventos atual quando a validação falha ou quando a execução precisa ser pulada. |
| Eventos de ação | Em ações personalizadas (ex: confirmação de exclusão, validação pré-salvamento), sai quando o usuário cancela ou a validação não passa. |
Diferença em relação ao
ctx.exitAll(): octx.exit()encerra apenas o fluxo de eventos atual; outros fluxos de eventos sob o mesmo evento não são afetados. Octx.exitAll()encerra o fluxo de eventos atual, bem como quaisquer fluxos de eventos subsequentes sob o mesmo evento que ainda não foram executados.
Chamar ctx.exit() lança uma exceção interna FlowExitException, que é capturada pelo mecanismo de fluxo (FlowEngine) para interromper a execução do fluxo de eventos atual. Uma vez chamado, as instruções restantes no código JS atual não serão executadas.
| Método | Escopo de efeito |
|---|---|
ctx.exit() | Encerra apenas o fluxo de eventos atual; os fluxos de eventos subsequentes não são afetados. |
ctx.exitAll() | Encerra o fluxo de eventos atual e interrompe os fluxos de eventos subsequentes sob o mesmo evento que estão configurados para execução sequencial. |
ctx.exit(), o código subsequente no JS atual não será executado; recomenda-se explicar o motivo ao usuário via ctx.message, ctx.notification ou um modal antes de chamá-lo.FlowExitException no código de negócio; deixe que o mecanismo de fluxo o manipule.ctx.exitAll().