JavaScript로 작업할 때 시간 초과와 같은 비동기 작업의 흐름을 제어해야 할 수 있습니다. 여기서는 활성 시간 초과를 일시 중지 및 재개하는 방법과 현재 시간 초과의 남은 시간을 검색하는 방법을 살펴봅니다.
시간 초과를 일시 중지하려면 래퍼를 활용할 수 있습니다. window.setTimeout 호출을 가로채서 필요한 기능을 제공하는 함수입니다. 래퍼 함수인 Timer는 콜백 함수와 지연을 인수로 사용하고 남은 시간의 일시 중지, 재개 및 추적을 처리합니다.
<code class="javascript">var Timer = function(callback, delay) { var timerId, start, remaining = delay; this.pause = function() { window.clearTimeout(timerId); timerId = null; remaining -= Date.now() - start; }; this.resume = function() { if (timerId) { return; } start = Date.now(); timerId = window.setTimeout(callback, remaining); }; this.resume(); };</code>
이 래퍼를 사용하려면 Timer 개체를 인스턴스화하고 해당 개체를 호출합니다. 필요에 따라 일시 중지() 및 재개() 메서드를 사용합니다.
현재 제한 시간에 남은 시간을 가져오는 한 가지 방법은 제한 시간이 설정된 경우 시작 시간을 저장하고 일시 정지 시 현재 시간과 시작 시간의 차이를 계산합니다.
<code class="javascript">var start = Date.now(); var t = setTimeout("dosomething()", 5000); var remaining = (start + 5000) - Date.now();</code>
단, 타임아웃이 일시 정지되었다가 재개된 경우 이 계산이 정확하지 않을 수 있다는 점에 유의하는 것이 중요합니다. 앞서 제공한 타이머 래퍼 기능에서는 남은 시간을 추적하고 이에 따라 업데이트하여 남은 시간을 검색하는 보다 안정적인 방법을 제공합니다.
위 내용은 JavaScript에서 시간 초과 실행을 제어하고 남은 시간을 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!