2013-08-31 4 views
1

나는 XMLHttpRequest의() JSON 병렬 다중 스레드는

나는 dB 여행하는 기능을 가지고

날이 문제를 해결하는 데 도움을 주시기 바랍니다 자바 스크립트에 새로운 오전. 매 10 밀리 초마다 발사됩니다. 문제는 데이터가 언젠가 3 개의 레코드에 언젠가 5 개의 레코드를 준다는 것입니다. 내가 통과 한 sp 매개 변수의 문제는 없습니다. 나는 그것이 스레드가 아닌 함수 호출로 인한 것 같아요. 그래서 함수 호출 과정은 멀티 스레딩 https://gist.github.com/johdax/1269740

에 대한 완전한 이전 호출

내가 본 기사 전에 중복되지만 스레딩 내 기능을 통합 할 생각이 없습니다.

는이 문제를 해결하는 데 도움이 제발 내 기능

<script> 
    setInterval(function(){UserList()},10); 

    function UserList() 
     { 
      if (window.XMLHttpRequest) 
      {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp6=new XMLHttpRequest(); 
      } 
      else 
      {// code for IE6, IE5 
       xmlhttp6=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp6.onreadystatechange=function() 
      { 
       if (xmlhttp6.readyState==4 && xmlhttp6.status==200) 
       { 
        $("#UserStatusList").html(xmlhttp6.responseText); 
       } 
      } 
      var a = $('#cmbProjectList').val(); 
      if (a==null){ a=""} 

      xmlhttp6.open("GET","UserList.asp?ProjectId=" + a,true); 
      xmlhttp6.send(); 
      return false; 
     } 

입니다. 여기에 어떻게 스레딩을 적용 할 수 있습니까?

+0

JavaScript는 '다중 스레드'가 아니지만 'Asyncus'가 될 수 있습니다 ... –

+0

10 밀리 초 간격은 실제로 가능하지 않습니다 ... – user1600124

+0

요청을 겹치기를 원하지 않으면 지연을 늘리거나 'synchronus' 'open' 메서드의 마지막 매개 변수를'true' 대신'false'로 설정하면됩니다. –

답변

0

브라우저는 노출 된 방식으로 AFAIK 스레드를 실제로 사용하지 않습니다. 진정한 브라우저 흐름에서 벗어나고 싶다면 JS 작업을위한 별도의 샌드 박스를 만드는 Web Worker API를 살펴볼 수 있습니다.