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()
한 번만 호출하고 싶습니다. 재귀 적 방법을 사용해야 합니까 , 아니면 사용해야 합니까?drawAll
clearInterval
또한 사용하도록 알려주십시오 clearInterval
. 감사 :)
setInterval
반복 타이머를 설정합니다 . clearInterval
발사를 멈추기 위해 전달할 수있는 핸들을 반환합니다 .
var handle = setInterval(drawAll, 20);
// When you want to cancel it:
clearInterval(handle);
handle = 0; // I just do this so I know I've cleared the interval
브라우저에서 핸들은 같지 않은 숫자 여야합니다 0
. 따라서 0
"타이머 설정 안 함"에 편리한 플래그 값을 만듭니다. (다른 플랫폼은 다른 값을 반환 할 수 있습니다. 예를 들어 NodeJS의 타이머 함수는 객체를 반환합니다.)
에 기능 예약하려면 단 한 번 불을 사용하는 setTimeout
대신. 계속 발사되지 않습니다. ( clearTimeout
해당하는 경우 한 번 발사하기 전에 취소 할 수있는 핸들도 반환합니다 .)
setTimeout(drawAll, 20);
clearInterval 은 하나의 옵션입니다.
var interval = setInterval(doStuff, 2000); // 2000 ms = start after 2sec
function doStuff() {
alert('this is a 2 second warning');
clearInterval(interval);
}
setTimeout(drawAll, 20)
대신 사용하십시오 . 함수를 한 번만 실행합니다.
저는 전자와 각도를 사용했고
제 경우 setInterval
에는 Nodejs 타이머 객체를 반환합니다. 내가 전화했을 때 clearInterval(timerobject)
작동하지 않았습니다.
먼저 ID를 얻어 clearInterval을 호출해야했습니다.
clearInterval(timerobject._id)
나는 이것으로 많은 시간을 보냈다. 도움이 되었기를 바랍니다.
참고 사항 – 간격을 설정하고 지우는 별도의 기능을 사용하려면 간격 변수에 '상대적'또는 '한 수준 위'범위에서 모든 변수에 액세스 할 수 있어야합니다.
var interval = null;
function startStuff(func, time) {
interval = setInterval(func, time);
}
function stopStuff() {
clearInterval(interval);
}
참고URL : https://stackoverflow.com/questions/5978519/how-to-use-setinterval-and-clearinterval
'program tip' 카테고리의 다른 글
Apache Spark Executor 메모리를 설정하는 방법 (0) | 2020.07.25 |
---|---|
Windows에서 PATH 환경 변수를 과도하게 채우는 것을 어떻게 피합니까? (0) | 2020.07.25 |
전 세계 모든 주소에 공통 주소 데이터베이스 디자인이 있습니까? (0) | 2020.07.25 |
Android에서 버튼을 동적으로 추가하는 방법은 무엇입니까? (0) | 2020.07.25 |
CoffeeScript 튜토리얼에서 "Splats"는 무엇을 의미합니까? (0) | 2020.07.25 |