이 문서는 AI에 의해 번역되었습니다. 정확한 정보는 영어 버전을 참조하세요.
현재 이벤트 흐름의 실행을 종료하며, 이후 단계는 실행되지 않습니다. 주로 비즈니스 조건이 충족되지 않거나, 사용자가 취소하거나, 복구 불가능한 오류가 발생했을 때 사용됩니다.
ctx.exit()는 일반적으로 JS 실행이 가능한 다음과 같은 컨텍스트에서 사용됩니다:
| 시나리오 | 설명 |
|---|---|
| 이벤트 흐름 | 양식 제출, 버튼 클릭 등으로 트리거된 이벤트 흐름에서 조건이 충족되지 않을 때 후속 단계를 중단합니다. |
| 연동 규칙 | 필드 연동, 필터 연동 등에서 유효성 검사에 실패하거나 실행을 건너뛰어야 할 때 현재 이벤트 흐름을 종료합니다. |
| 작업 이벤트 | 사용자 정의 작업(예: 삭제 확인, 저장 전 유효성 검사)에서 사용자가 취소하거나 유효성 검사를 통과하지 못했을 때 종료합니다. |
ctx.exitAll()과의 차이점:ctx.exit()는 현재 이벤트 흐름만 종료하며, 동일한 이벤트 내의 다른 이벤트 흐름에는 영향을 주지 않습니다.ctx.exitAll()은 현재 이벤트 흐름과 동일한 이벤트 내에서 아직 실행되지 않은 후속 이벤트 흐름을 모두 종료합니다.
ctx.exit()를 호출하면 내부적으로 FlowExitException이 발생하며, 이벤트 흐름 엔진이 이를 캡처하여 현재 이벤트 흐름의 실행을 중단합니다. 호출되는 즉시 현재 JS 코드의 나머지 구문은 실행되지 않습니다.
| 메서드 | 영향 범위 |
|---|---|
ctx.exit() | 현재 이벤트 흐름만 종료하며, 후속 이벤트 흐름은 영향을 받지 않음 |
ctx.exitAll() | 현재 이벤트 흐름을 종료하고, 동일한 이벤트 내에서 순차적으로 실행되는 후속 이벤트 흐름을 중단함 |
ctx.exit() 호출 후에는 현재 JS의 후속 코드가 실행되지 않습니다. 호출 전에 ctx.message, ctx.notification 또는 팝업을 통해 사용자에게 이유를 설명하는 것이 좋습니다.FlowExitException을 직접 캡처할 필요는 없으며, 이벤트 흐름 엔진이 처리하도록 두면 됩니다.ctx.exitAll()을 사용하십시오.