2014-01-05 2 views
-1

나는 1 초마다 기능을 반복하려고하는데, 그 기능도 매우 유용하다는 것을 알고 있지만, 슬프게도 나는 프로그램을위한 스크립트를 실행 중이다. 그래서 브라우저 자바 스크립트 함수 (setInterval(), setTimeout(), alert(), 기본적으로 모두 window related functions)의 장점을 가지고 있지 않습니다. 그래서 1 초마다 코드 블록이나 그 코드를 포함하는 함수를 실행할 수 있습니까?setInterval과 비슷한 순수한 자바 스크립트 타이머

저는 최근에야 자바 스크립트로 코드를 작성하기 시작했고 단지 기본적인 이해 만하고 있습니다.

+0

* donest가 의미하는 점은 브라우저 자바 스크립트 기능 *의 장점이 있습니까? – Satpal

+0

질문이 너무 이해하기 쉽지 않습니다. 실제로 원하는 것,'setInterval, setTimeout' 알았어.하지만'alert'은 어때? – Praveen

+0

jeez, fixed ... –

답변

0

귀하의 질문은 매우 모호하지만 내 답변이 꺼져 있다면 사과드립니다.하지만 최선을 다할 수 있습니다.

내가 해결할 수있는 방법은 setTimeout/setInterval 함수를 허용하는 환경을 변경하는 것입니다. 브라우저에서의 동작과 유사합니다.

이 옵션을 사용할 수없는 경우, 당신은 마르크이 코멘트에 제안 된 경로를 이동 할 수 있습니다 일이 ::

var lastSecond = (new Date()).getSeconds(); 
while (true) { 
    if (lastSecond !== (new Date()).getSeconds()) { 
    lastSecond = (new Date()).getSeconds(); 
    console.log('Time is:', new Date()); 
    } 
} 

데모의 라인을 따라 당신이 원하는 하나, 뭔가 될 때까지 바쁜 기다립니다 : http://jsbin.com/aNiRiZE/1/edit

명백히 busy-waiting은 실행중인 스레드를 차단하므로 환경에서 setTimeout/setInterval에 대한 구현을 주입하는 첫 번째 솔루션을 강력히 제안합니다.

관련 문제