문제:
Node.js 및 Mongoose에서 forEach 루프 내에서 재귀 함수 실행 무한 루프가 발생할 수 있습니다. 이를 어떻게 방지할 수 있습니까?
답변:
forEach 루프는 기존 루프 구조 없이 단일 작업으로 실행되므로 직접 중단하는 것은 불가능합니다. 그러나 중단 동작을 모방하는 대체 방법이 있습니다:
1. 컨텍스트 사용:
forEach에 두 번째 인수를 전달하여 컨텍스트로 사용하고 여기에 부울 변수를 저장합니다. forEach 함수 내에서 if 문을 사용하여 부울을 확인하고 필요한 경우 종료합니다.
2. 예외 처리:
전체 forEach 루프를 try-catch 블록으로 묶고 중단하려는 경우 예외를 발생시킵니다. 이 방법은 성능과 코드 유지 관리에 영향을 미치기 때문에 덜 선호됩니다.
3. Every() 또는 some() 사용:
forEach 대신 반환 값에 따라 사용자 지정 반복, 제어 및 조기 종료를 허용하는 Every() 또는 some() 메서드를 사용하세요.
every()를 사용한 예:
<code class="javascript">['a', 'b', 'c'].every(function(element, index) { // Do your thing, then: if (you_want_to_break) return false; else return true; });</code>
위 내용은 JavaScript forEach에서 무한 루프를 끊는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!