programing

계속하기 전에 JavaScript 절전/대기

goodsources 2022. 9. 13. 22:19
반응형

계속하기 전에 JavaScript 절전/대기

sleep/wait 기능을 추가해야 하는 JavaScript 코드가 있습니다.실행 중인 코드가 이미 함수에 있습니다. 예:

function myFunction(time)
{
    alert('time starts now');
    //code to make the program wait before continuing
    alert('time is up')
}

가능한 해결책에는 다음이 포함될 수 있다고 들었습니다.

setTimeout

이 경우 어떻게 사용해야 할지 잘 모르겠습니다.

서버가 지원하지 않기 때문에 PHP를 사용할 수 없습니다만, jQuery를 사용해도 괜찮습니다.

JS에는 sleep 함수가 없습니다.set Timeout() 또는 set Interval() 함수가 있습니다.

일시정지 후 실행해야 할 코드를 로 이동할 수 있는 경우setTimeout()콜백은 다음과 같은 처리를 할 수 있습니다.

//code before the pause
setTimeout(function(){
    //do what you need here
}, 2000);

다음 예시를 참조하십시오.http://jsfiddle.net/9LZQp/

이것은 스크립트의 실행을 정지시키지는 않습니다만, 그 이유는setTimeout()이 코드는 비동기 함수입니다.

console.log("HELLO");
setTimeout(function(){
    console.log("THIS IS");
}, 2000);
console.log("DOG");

는 다음 내용을 콘솔에 출력합니다.

HELLO
DOG
THIS IS

(DOG는 이 시점보다 먼저 인쇄됩니다.


다음 코드를 사용하여 짧은 시간 동안 절전 모드를 시뮬레이션할 수 있습니다.

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}

이제 1초 동안 자고 싶다면 다음을 사용하십시오.

sleep(1000);

예: http://jsfiddle.net/HrJku/1/

이 코드로 인해 스크립트 n밀리초 동안 비지 상태가 됩니다.로 인해 페이지 상에서 Javascript 실행이 중지될 뿐만 아니라 브라우저 구현에 따라서는 페이지가 완전히 응답하지 않고 브라우저 전체가 응답하지 않을 수 있습니다.다시 말해, 이것은 거의 항상 잘못된 행동이다.

언급URL : https://stackoverflow.com/questions/16873323/javascript-sleep-wait-before-continuing

반응형