> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 setInterval에서 초기 지연을 피하는 방법은 무엇입니까?

JavaScript의 setInterval에서 초기 지연을 피하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-10 08:50:02
원래의
775명이 탐색했습니다.

How to Avoid the Initial Delay in JavaScript's setInterval?

setInterval의 지연 또는 즉시 실행

JavaScript에서 setInterval 메소드는 일정한 간격으로 함수를 실행하는 데 유용한 도구입니다. 그러나 기본적으로 초기 지연 후에 실행이 시작됩니다. 이러한 지연은 특정 상황에서 바람직하지 않을 수 있습니다.

해결책: 즉각적인 함수 호출

이 지연을 극복하기 위한 간단하고 효율적인 해결책은 설정하기 전에 함수를 수동으로 호출하는 것입니다. 간격. 이 기술을 사용하면 함수가 즉시 실행됩니다.

foo();
setInterval(foo, delay);
로그인 후 복사

대체 방법: setTimeout 사용

즉시 함수를 호출하면 문제가 해결되지만 setTimeout을 사용하면 추가적인 유연성이 제공됩니다.

function foo() {
    // ...
    setTimeout(foo, delay);
}

foo();
로그인 후 복사

혜택 setTimeout:

  • 보장된 간격: setTimeout은 함수 호출 사이에 항상 최소 지연 밀리초의 간격이 있도록 보장합니다.
  • 더 쉽습니다. 취소: 다음과 같은 경우 setTimeout 호출을 생략하여 루프를 취소하는 것은 간단합니다. 특정 조건이 충족됩니다.

향상된 솔루션: IIFE(즉시 호출 함수 표현식)

이를 달성하는 훨씬 더 간결한 방법은 코드를 다음과 같이 래핑하는 것입니다. 함수 정의와 자동 루프를 결합한 IIFE 시작:

(function foo() {
    // ...
    setTimeout(foo, delay);
})();
로그인 후 복사

결론

즉시 함수 호출 또는 setTimeout 대안을 활용하여 setInterval 메소드의 실행 타이밍을 제어하여 해당 기능이 정렬되도록 할 수 있습니다. 귀하의 애플리케이션 요구 사항에 정확하게 부합합니다.

위 내용은 JavaScript의 setInterval에서 초기 지연을 피하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿