Node.js와 socket.io를 사용하고 있으며 타이머에 setInterval을 사용하고 있습니다.setInterval이 자체를 반복하지 않도록 보장
다음과 같은 내용이 있습니다. 연결 해제시 간격을 지우고 간격을 설정하기 전에 확인합니다. 그러나 페이지를 많이 새로 고치면 정확하지 않은 것처럼 보입니다. 콘솔 로그는 1 초보다 훨씬 빠른 간격으로 '시간'을 표시하고 함께 그룹화됩니다.
새 타이머가 두 번 이상 초기화되지 않도록하려면 어떻게해야합니까?
socket.on('disconnect', function() {
console.log('Disconnected');
clearInterval(timer);
});
if (typeof timer != 'undefined') {
clearInterval(timer);
}
var timer = setInterval(function() {
console.log('time');
}, 1000);
문제를보기 위해 더 많은 코드를 게시해야 할 수도 있습니다. – david
그래서 ... 한 번만 실행하고 싶지만 ... 매 간격마다 코드 블록을 실행하도록 설계된'setInterval'을 사용하고 있습니다. 'setTimeout'을 사용하십시오. –