摘要:在外層使用循環(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 結(jié)果值 單位 參考范圍 "+result1.detail[j].itemDetail+"
"+result1.detail[j].reportValue+""+result1.detail[j].unit+" 正常值范圍:"+result1.detail[j].refRange+" "; } jianyan+="
"; 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)用就會導致順序錯亂。比如條數(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){ ...
摘要:在外層使用循環(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){ ...
摘要:而是在調(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ā)的關鍵是你有處理多個任務的能力,不一定同...
摘要:每個線程的任務執(zhí)行順序都是先進先出在運行的環(huán)境中,有一個負責程序本身的運行,作為主線程另一個負責主線程與其他線程的通信,被稱為線程。主線程繼續(xù)執(zhí)行我是第一主線程執(zhí)行完畢,從線程讀取回調(diào)函數(shù)。 前言 上星期面試被問到了事件執(zhí)行順序的問題,想起來之前看《深入淺出Node.js》時看到這一章就忽略了,這次來分析一下JavaScript的事件執(zhí)行順序。廢話少說,正題開始。 單線程JavaScr...
摘要:異步請求線程在在連接后是通過瀏覽器新開一個線程請求將檢測到狀態(tài)變更時,如果設置有回調(diào)函數(shù),異步線程就產(chǎn)生狀態(tài)變更事件,將這個回調(diào)再放入事件循環(huán)隊列中。 基礎:瀏覽器 -- 多進程,每個tab頁獨立一個瀏覽器渲染進程(瀏覽器內(nèi)核) 每個瀏覽器渲染進程是多線程的,主要包括:GUI渲染線程 JS引擎線程 也稱為JS內(nèi)核,負責處理Javascript腳本程序。(例如V8引擎) JS引擎線程負...
閱讀 1065·2021-11-18 10:02
閱讀 1319·2021-09-23 11:22
閱讀 2623·2021-08-21 14:08
閱讀 1649·2019-08-30 15:55
閱讀 1736·2019-08-30 13:45
閱讀 3187·2019-08-29 16:52
閱讀 3104·2019-08-29 12:18
閱讀 1651·2019-08-26 13:36