각 시간 간격마다 실행되는 기능이 있으므로 다시 실행하기 전에 기능을 중지해야합니다.node/js 다시 실행하기 전에 기능을 중지하십시오.
아래 코드와 유사합니다.
var interval = 1000*60*3.14159;
setInterval(function(){
setTimeout(myfunction(), interval)
}, interval);
각 시간 간격마다 실행되는 기능이 있으므로 다시 실행하기 전에 기능을 중지해야합니다.node/js 다시 실행하기 전에 기능을 중지하십시오.
아래 코드와 유사합니다.
var interval = 1000*60*3.14159;
setInterval(function(){
setTimeout(myfunction(), interval)
}, interval);
setTimeout
는 이해가되지 않습니다, 당신은 요구 사항, 특히 함께, 타이머
var timeoutId = setTimeout(myfunction(), interval);
clearTimeout(timeoutId);
에게 코드를 중지 나중에 사용할 수있는 timeoutID
값을 반환합니다. 첫째, 당신은
setTimeout(myfunction, 1000);
은 그렇지에서는 setTimeout 전혀 영향을주지 않습니다와 기능은 단지 시간 제한없이 실행됩니다, 직접 실행하는 대신
setTimeout
에 함수에 대한 참조를 전달해야합니다.
이제이 오류를 수정하면 setInterval
과 setTimeout
의 간격이 같습니다. setInterval
틱이 나타날 때마다 setTimeout
에 전달 된 함수의 실행을 중단하려면 지정한 동일한 간격으로 인해 setTimeout
이 인터럽트되고 실행되지 않습니다. 다음 틱은 기능을하기 전에 기능을 중지합니다.
var interval = 1000;
setInterval(function(){
var i = setTimeout(myfunction, interval)
clearTimeout(i);
}, interval);
function myfunction() {
\t console.log("you'll never see me");
}
매우 좋은 시간 제한을 어떻게 지울 수 있는지 예입니다. 이해해. –
나에게 보여줄 수 있습니까? 논리를 만들 수 없기 때문에. –
직접 기능을 실행하는 대신에 참조를 전달함으로써, 타임 아웃이 존중하지 않고에서는 setTimeout 아무 효과가 없다 : -
예를 참조은 아무런 변화가 없음을 알 수 있습니다. 시간 초과가 간격과 같기 때문에이 오류를 제거하면 함수가 실행되지 않습니다. – baao
그래,하지만 그것은 단지 당신이 – mic4ael