-3

javascriptでマルチスレッドは可能ですか? これは私の JSP ページの JavaScript 部分です。私はこの4つのif条件を持っています。条件が 4 つある場合は、4 つの診断テストが実行されます。しかし、私はそれらを同時に実行したい。出来ますか?

  if(document.getElementById("VoiceNode").style.display=="block" && document.getElementById("voiceTest-0").style.display=="none"){
                   alert("calling voice test");          
                    document.getElementById("voiceTest-0").style.display="block";
                    kbdOnnetVoiceTestAjaxCall.init('<%=contextPath%>','<%=Service.getServiceID()%>','<%=Service.getInventory().getTelephoneNumber()%>','<%=Service.getInventory().getPort()%>','<%=Service.getInventory().getDslam()%>','<%=Service.getInventory().getSlot()%>','${KBDResultsTimeout}','true')
                    document.getElementById("moreVoice").style.display="block";
                    alert("exiting voice test"); 
                }
                if(document.getElementById("sessionTest-0").style.display=="none"){
                                       document.getElementById("sessionTest-0").style.display="block";
                    kbdOnnetSessionTestAjaxCall.init('<%=contextPath%>','<%=Service.getServiceID()%>','<%=Service.getInventory().getTelephoneNumber()%>','<%=Service.getInventory().getPort()%>','<%=Service.getInventory().getDslam()%>','<%=Service.getInventory().getSlot()%>','${KBDResultsTimeout}','true')
                    document.getElementById("moreSession").style.display="block";  
                                    }
                if(document.getElementById("lineTest-0").style.display=="none"){

                    document.getElementById("lineTest-0").style.display="block";
                    kbdOnnetLineTestAjaxCall.init('<%=contextPath%>','<%=Service.getServiceID()%>','<%=Service.getInventory().getTelephoneNumber()%>','<%=Service.getInventory().getPort()%>','<%=Service.getInventory().getDslam()%>','<%=Service.getInventory().getSlot()%>','${KBDResultsTimeout}','true')
                    document.getElementById("moreLine").style.display="block";
                                     }
                if (document.getElementById("syncTest-0").style.display=="none"){

                    document.getElementById("syncTest-0").style.display="block";
                    kbdOnnetSyncTestAjaxCall.init('<%=contextPath%>','<%=Service.getServiceID()%>','<%=Service.getInventory().getTelephoneNumber()%>','<%=Service.getInventory().getPort()%>','<%=Service.getInventory().getDslam()%>','<%=Service.getInventory().getSlot()%>','${KBDResultsTimeout}','true')
                    document.getElementById("moreSync").style.display="block";
                                        }
4

2 に答える 2

1

いいえ

イベントループで実行順序を並べ替えることができます。しかし、それらが同時に起こることは決してありません。

于 2012-09-10T09:23:38.293 に答える
1

JavaScriptはシングルスレッドです。だが

  • を使用してタスクを脇に置くことで、「スレッド化」をエミュレートできますsetTimeout。これは通常、集中的な操作中の「UIブロッキング」を防ぐために使用されます。
  • または最近のWebWorkersを使用する
于 2012-09-10T09:24:47.263 に答える