setInterval 및clearInterval을 사용하여 예약된 함수 관리
다음 코드 조각을 고려하세요.
function doKeyDown(event) { switch (event.keyCode) { case 32: /* Space bar was pressed */ if (x == 4) { setInterval(drawAll, 20); } else { setInterval(drawAll, 20); x += dx; } break; } }
목표는 다음과 같습니다. drawAll 함수를 한 번만 호출하고 반복적으로 호출하는 루프를 생성하지 마십시오.
clearInterval을 사용하여 반복 실행 중지
setInterval은 지정된 함수를 주기적으로 호출하는 반복 타이머를 설정합니다. 실행을 중지하려면 ClearInterval을 활용하면 됩니다. 작동 방식은 다음과 같습니다.
var handle = setInterval(drawAll, 20); // When you want to stop it: clearInterval(handle); handle = 0; // Indication of an uncleared interval
브라우저에서 핸들은 0이 아닌 숫자 값이 보장됩니다. 따라서 핸들 = 0을 설정하면 간격이 지워졌음을 나타내는 편리한 플래그 역할을 합니다.
일회성 함수 호출 예약
함수를 한 번만 실행하려면 대신 setTimeout을 사용해 보세요. 이 함수는 지정된 시간 간격 후에 함수가 호출되도록 예약하지만 그 이후에는 함수를 계속 실행하지 않습니다. 또한 잠재적인 취소에 대한 핸들도 반환합니다.
setTimeout(drawAll, 20);
위 내용은 `setInterval`을 사용하여 호출된 함수가 한 번만 실행되도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!