2015-01-30 1 views
1

시간은 밀리 초 또는 초입니까? 이 두 스크립트가 동시에 발생하지 않는 이유는 확실하지 않습니다. 상당한 지연이 있습니다.Javascript/AJAX 시간은 무엇입니까?

$(document).ready(function() { 
    $("#idle").delay(300000).fadeIn(500); 
}); 

var intervalHandler; 
var counter = 0; 

    $(document).ready(function() { 
     $.ajaxSetup({ cache: false }); 
     intervalHandler = setInterval(function() { 
      $('#chatresults').load('includes/chat.php'); 
      counter++; 
      if (counter == 200) { 
       clearInterval(intervalHandler); 
      } 
     }, 1500); 
    }); 

두 번째 스크립트는 각 인 1500 길이가 200 회를 실행해야합니다 (단위 확실하지 - 아마 밀리 초), 총 300,000에 해당한다. 웬일인지, 그것은 첫번째 사람과 같은 시간에 끝나지 않는다, 그들 사이에서 큰 연기가있다. 왜 명백한 이유가 있습니까?

+2

네, 밀리 초 또한 – Bijan

+0

으로 측정, 0으로 카운터를 취소하는 것을 잊지 말아 때 여기 사항 clearInterval – Bijan

+0

더 많은 정보를 정기적으로 : https://developer.mozilla.org/en-US/docs/ 웹/API/WindowTimers.setInterval – NeoPix

답변

1

JS 타이머는 실제로 두 번 반복 할 때마다 실제 코드를 실행하는 데 낭비되는 시간이기 때문에 정확하지 않습니다. 따라서 반복 횟수가 많을수록 시간은 줄어들 것입니다. 모든 것이 완료하고 그 대신에 등 간격 + 코드 실행 + 간격 + 코드 실행을 ...가는

그러나 귀하의 경우

이 최고의 수 있습니다에 의존해야하는 경우

하나의 솔루션으로 시간을 설정하는 것입니다 방법 :

if (counter == 200) { 
    clearInterval(intervalHandler); 
    $("#idle").fadeIn(500); 
} 
+0

나는 생각조차하지 못해 너무 바보 같아. 고맙습니다. – invidious

+0

누구에게나 일어나는 일입니다. 걱정할 필요가 없습니다. 천만에요. – Shomz

+0

@Shomz 내가 물어 볼 수 있니? – innovation

관련 문제