programing

setInterval 및 clear를 사용하려면 어떻게 해야 합니까?간격?

newstyles 2023. 10. 31. 20:36

setInterval 및 clear를 사용하려면 어떻게 해야 합니까?간격?

고려 사항:

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 cancel it:
clearInterval(handle);
handle = 0; // I just do this so I know I've cleared the interval

브라우저에서 핸들은 다음과 같은 숫자가 아닌 것으로 보장됩니다.0; 그러므로,0는 "no timer set"을 위한 핸디 플래그 값을 만듭니다. (다른 플랫폼은 다른 값을 반환할 수도 있고, Node.js의 타이머 함수는 객체를 반환합니다.)

함수를 한 만 발사하도록 예약하려면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);
}

참고 – 별도의 함수를 사용하여 간격을 설정하고 지우려면 간격 변수를 'relative global' 또는 'one level up' 범위에서 모두 사용할 수 있어야 합니다.

var interval = null;    

function startStuff(func, time) {
    interval = setInterval(func, time);
}

function stopStuff() {
    clearInterval(interval);
}

Angular with Electron.

저 같은 경우에는.setIntervalNode.js Timer 개체를 반환합니다.내가 전화했을 때clearInterval(timerobject), 작동하지 않았습니다.

먼저 신분증을 받고 전화를 해야 했습니다.간격:

clearInterval(timerobject._id)

사용하다setTimeout(drawAll, 20)대신.이 기능은 한 번만 실행됩니다.

언급URL : https://stackoverflow.com/questions/5978519/how-can-i-use-setinterval-and-clearinterval