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

資訊專欄INFORMATION COLUMN

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

mo0n1andin / 1211人閱讀

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

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

for(var i=0;i

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

解決方案是使用遞歸,遞歸可以幫助你正確的順序去調(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]+")

暫無相關(guān)信息

"; }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是變量。這個(gè)函數(shù)外層還有一個(gè)Ajax。result就是外層的結(jié)果,result1是內(nèi)層數(shù)據(jù)result.recentResult[t].itemName 按照遞歸以后的標(biāo)題就是按順序進(jìn)行的了。調(diào)用的內(nèi)層Ajax的內(nèi)容當(dāng)然也是正確的。

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    junnplus 評論0 收藏0

發(fā)表評論

0條評論

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