成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

循環(huán)調(diào)用Ajax,異步引起順序錯亂的問題

freecode / 1796人閱讀

摘要:在外層使用循環(huán)時再去調(diào)用就會導致順序錯亂。比如條數(shù)據(jù)順序正常是,現(xiàn)在執(zhí)行順序可能是。一個是標題匹配內(nèi)容會有問題,另外,展示的順序也會出錯。暫無相關信息結(jié)果值單位參考范圍無無無正常值范圍是遞歸函數(shù),是變量。調(diào)用的內(nèi)層的內(nèi)容當然也是正確的。

在外層使用for循環(huán)時再去調(diào)用Ajax就會導致順序錯亂。

for(var i=0;i

比如6條數(shù)據(jù)順序正常是123456,現(xiàn)在執(zhí)行順序可能是135246。這樣一來,比如你想外層的Ajax得到標題以后再在內(nèi)層匹配相應內(nèi)容就會出現(xiàn)錯亂。一個是標題匹配內(nèi)容會有問題,另外,展示的順序也會出錯。

解決方案是使用遞歸,遞歸可以幫助你正確的順序去調(diào)用Ajax,在遞歸每一步的索引也是正確的。

function getResult(){

                                        if(currentIndex>=result.recentResult.length){ 

                                            return;

                                        }

                                        $.ajax({

                                            type:"POST",
                                            url: remoteIp + "i/people/checkresult/getTestDetail.do",
                                            data:{
                                                itemId:result.recentResult[currentIndex].itemId,
                                                type:"0",
                                                hospitalCode:"1",
                                                instrumentType:"",
                                                checkDate:result.recentResult[currentIndex].itemId.split("_")[1]
                                            },
                                            dataType:"json",
                                            beforeSend: function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader("Authorization", decodeURIComponent(getCookie("token")).replace(/
|
|(
)|(u0085)|(u2028)|(u2029)/g, "").replace(" ", ""));},
                                            
                                            success:function(result1){
                                                currentIndex++;
                                                console.log(result.recentResult[t].itemName);
                                                console.log(result1);
                                                if(result1.detail.length==0){
                                                    jianyan+="

"+result.recentResult[t].itemName+"("+result.recentResult[t].itemId.split("_")[1]+")

暫無相關信息

"; }else{ jianyan="

"+result.recentResult[t].itemName+"("+result.recentResult[t].itemId.split("_")[1]+")

"; } for(var j=0;j"+result1.detail[j].reportValue+""; } jianyan+="
結(jié)果值單位參考范圍
"+result1.detail[j].unit+"正常值范圍:"+result1.detail[j].refRange+"



"; theResult.innerHTML += jianyan; jianyan=""; t++; getResult(); } }); }

getResult是遞歸函數(shù),t是變量。這個函數(shù)外層還有一個Ajax。result就是外層的結(jié)果,result1是內(nèi)層數(shù)據(jù)result.recentResult[t].itemName 按照遞歸以后的標題就是按順序進行的了。調(diào)用的內(nèi)層Ajax的內(nèi)容當然也是正確的。

參考:https://blog.csdn.net/yuan882...

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75231.html

相關文章

  • 循環(huán)調(diào)用Ajax異步引起順序錯亂問題

    摘要:在外層使用循環(huán)時再去調(diào)用就會導致順序錯亂。比如條數(shù)據(jù)順序正常是,現(xiàn)在執(zhí)行順序可能是。一個是標題匹配內(nèi)容會有問題,另外,展示的順序也會出錯。暫無相關信息結(jié)果值單位參考范圍無無無正常值范圍是遞歸函數(shù),是變量。調(diào)用的內(nèi)層的內(nèi)容當然也是正確的。 在外層使用for循環(huán)時再去調(diào)用Ajax就會導致順序錯亂。 for(var i=0;i=result.recentResult.length){ ...

    mo0n1andin 評論0 收藏0
  • 循環(huán)調(diào)用Ajax,異步引起順序錯亂問題

    摘要:在外層使用循環(huán)時再去調(diào)用就會導致順序錯亂。比如條數(shù)據(jù)順序正常是,現(xiàn)在執(zhí)行順序可能是。一個是標題匹配內(nèi)容會有問題,另外,展示的順序也會出錯。暫無相關信息結(jié)果值單位參考范圍無無無正常值范圍是遞歸函數(shù),是變量。調(diào)用的內(nèi)層的內(nèi)容當然也是正確的。 在外層使用for循環(huán)時再去調(diào)用Ajax就會導致順序錯亂。 for(var i=0;i=result.recentResult.length){ ...

    megatron 評論0 收藏0
  • JS—異步、回調(diào)、高階函數(shù)

    摘要:而是在調(diào)用發(fā)出后,被調(diào)用者通過狀態(tài)通知來通知調(diào)用者,或通過回調(diào)函數(shù)處理這個調(diào)用。請求程序發(fā)出請求,從服務器端獲取數(shù)據(jù),并設置了回調(diào)函數(shù)。然后,瀏覽器會設置偵聽來自網(wǎng)絡的響應,拿到數(shù)據(jù)后,將該回調(diào)函數(shù)插入到事件循環(huán)。 并發(fā)與并行 并發(fā)是指兩個或多個事件鏈隨時間發(fā)展交替執(zhí)行,以至于從更高的層次來看,就像是同時運行(但在任意時刻只處理一個事件) 并發(fā)的關鍵是你有處理多個任務的能力,不一定同...

    Dean 評論0 收藏0
  • JavaScript執(zhí)行順序分析

    摘要:每個線程的任務執(zhí)行順序都是先進先出在運行的環(huán)境中,有一個負責程序本身的運行,作為主線程另一個負責主線程與其他線程的通信,被稱為線程。主線程繼續(xù)執(zhí)行我是第一主線程執(zhí)行完畢,從線程讀取回調(diào)函數(shù)。 前言 上星期面試被問到了事件執(zhí)行順序的問題,想起來之前看《深入淺出Node.js》時看到這一章就忽略了,這次來分析一下JavaScript的事件執(zhí)行順序。廢話少說,正題開始。 單線程JavaScr...

    chnmagnus 評論0 收藏0
  • 【筆記】 你不知道JS讀書筆記——異步

    摘要:異步請求線程在在連接后是通過瀏覽器新開一個線程請求將檢測到狀態(tài)變更時,如果設置有回調(diào)函數(shù),異步線程就產(chǎn)生狀態(tài)變更事件,將這個回調(diào)再放入事件循環(huán)隊列中。 基礎:瀏覽器 -- 多進程,每個tab頁獨立一個瀏覽器渲染進程(瀏覽器內(nèi)核) 每個瀏覽器渲染進程是多線程的,主要包括:GUI渲染線程 JS引擎線程 也稱為JS內(nèi)核,負責處理Javascript腳本程序。(例如V8引擎) JS引擎線程負...

    junnplus 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<