Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
Finaliza la ejecución del flujo de eventos actual; los pasos posteriores no se ejecutarán. Se utiliza comúnmente cuando no se cumplen las condiciones de negocio, el usuario cancela o ocurre un error irrecuperable.
ctx.exit() se utiliza generalmente en los siguientes contextos donde se puede ejecutar JS:
| Escenario | Descripción |
|---|---|
| Flujo de eventos | En flujos de eventos activados por el envío de formularios, clics en botones, etc., finaliza los pasos posteriores cuando no se cumplen las condiciones. |
| Reglas de vinculación | En vinculaciones de campos, vinculaciones de filtros, etc., finaliza el flujo de eventos actual cuando falla la validación o es necesario omitir la ejecución. |
| Eventos de acción | En acciones personalizadas (por ejemplo, confirmación de eliminación, validación previa al guardado), sale cuando el usuario cancela o la validación no es satisfactoria. |
Diferencia con
ctx.exitAll():ctx.exit()solo finaliza el flujo de eventos actual; otros flujos de eventos bajo el mismo evento no se ven afectados.ctx.exitAll()finaliza el flujo de eventos actual, así como cualquier flujo de eventos posterior bajo el mismo evento que aún no se haya ejecutado.
Al llamar a ctx.exit() se lanza una excepción interna FlowExitException, que es capturada por el motor de flujos para detener la ejecución del flujo de eventos actual. Una vez invocado, las sentencias restantes en el código JS actual no se ejecutarán.
| Método | Alcance del efecto |
|---|---|
ctx.exit() | Finaliza solo el flujo de eventos actual; los flujos de eventos posteriores no se ven afectados. |
ctx.exitAll() | Finaliza el flujo de eventos actual y aborta los flujos de eventos posteriores bajo el mismo evento que estén configurados para ejecutarse secuencialmente. |
ctx.exit(), el código posterior en el JS actual no se ejecutará; se recomienda explicar el motivo al usuario a través de ctx.message, ctx.notification o una ventana modal antes de llamarlo.FlowExitException en el código de negocio; deje que el motor de flujos lo gestione.ctx.exitAll().