1. 程式人生 > >javascript 保證ajax按順序執行

javascript 保證ajax按順序執行

程式中有時會用到ajax來獲取資料,獲取資料會有一定延時,為保證在獲取到資料後才幹某事我們可以這樣處理:在ajax的回撥處理函式中,在獲取到資料後才呼叫某函式。

即使是頁面有多個ajax呼叫,我們也可以通過這種方式保障執行順序(在真實應用中很可能會出現要求ajax按順序執行取資料的情況)。

<script language="javascript" type="text/javascript">
   var request = false;
   try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }  
     }
   }
   if (!request)
     alert("Error initializing XMLHttpRequest!");
   function getCustomerInfo() {
     var phone = document.getElementById("phone").value;
     var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone);
     request.open("GET", url, true);
     request.onreadystatechange = updatePage;
     request.send(null);
   }
   function updatePage() {
     
    if (request.readyState==4 && request.status==200)
    {
        //document.getElementById("txtHint").innerHTML=request.responseText;        
        callNextFn(request.responseText);//獲取資料後呼叫函式執行下個ajax呼叫
    }
}
function callNextFn(){
var arr = arguments;
// process arguments
//send next ajax request
}
 </script>

相關推薦

javascript 保證ajax順序執行

程式中有時會用到ajax來獲取資料,獲取資料會有一定延時,為保證在獲取到資料後才幹某事我們可以這樣處理:在ajax的回撥處理函式中,在獲取到資料後才呼叫某函式。即使是頁面有多個ajax呼叫,我們也可以通過這種方式保障執行順序(在真實應用中很可能會出現要求ajax按順序執行取資

有三個執行緒T1 T2 T3,如何保證他們順序執行

T3先執行,在T3的run中,呼叫t2.join,讓t2執行完成後再執行t3 在T2的run中,呼叫t1.join,讓t1執行完成後再讓T2執行 public class JoinTest2 { // 1.現在有T1、T2、T3三個執行緒,你怎樣保證T2在T1

如何保證執行順序執行

/* 有三個執行緒T1 T2 T3,如何保證他們按順序執行-轉載 在T2的run中,呼叫t1.join,讓t1執行完成後再讓T2執行 在T2的run中,呼叫t2.join,讓t2執行完成後再讓T3執行 */ public class ThreadByOrder { static Thread

06 我該怎麼保證從訊息佇列裡拿到的資料順序執行

目錄 1、面試題 2、面試官心裡分析 3、面試題剖析 1、面試題 如何保證訊息的順序性? 2、面試官心裡分析 其實這個也是用MQ的時候必問的話題,第一看看你瞭解不瞭解順序這個事兒?第二看看你有沒有辦法保證訊息是有順序的?這個生產系統中常見的問題。 3、面試題剖析

Junit4順序執行test方法

pub jvm ring 類名 end eth 執行 int unit junit默認按方法名的按方法名的hashcode排序 若希望junit執行順序,可在類名上添加註解:@FixMethodOrder @FixMethodOrder接受MethodSorters

想要Jmeter中的多個執行緒組順序執行

在一個指令碼檔案中,如果有多個執行緒組,並且想讓他們從上到下依次執行,只需在測試計劃頁面,勾選“獨立執行每個執行緒組”即可 “Run teardown thread groups after shutdown of main threads”的意思是:主執行緒關

java中順序執行兩個執行緒的方法

比如有執行緒A和B,在A執行完成後B再開始執行 線上程A run方法最後啟動執行緒B - - 共享一個volatile boolean型別的標識變數,B一直檢查該變數的值,而A則在執行完成後改變A的

關於JS下大批量非同步任務順序執行解決方案一點思考

前言 最近需要做一個瀏覽器的, 支援大體積檔案上傳且要支援斷點續傳的上傳元件, 本來以為很容易的事情, 結果碰到了一個有意思的問題: 迴圈執行連續的非同步任務, 且後一個任務需要等待前一個任務的執行狀態 這麼說可能有點空泛, 以我做的元件舉例: 這個元件本意是為了上傳大體積視訊, 和支援斷點續傳, 因

解決面試題T1,T2,T3在多執行緒中順序執行

方法一、使用join方法處理 package com.cyc.redis.singleton; public class JoinExample { public static void main(String[] args) { Thread t1 = new Thre

join()之讓執行順序執行

Thread中的join() 主執行緒建立並啟動子執行緒,如果子執行緒中要進行大量的耗時運算,主執行緒往往將在子執行緒執行結束前結束。如果主執行緒想等待子執行緒執行完成後再結束(如,子執行緒處理一個數據,主執行緒需要取到這個值),則需要用到join()。

執行緒和併發(三)使用join方法讓執行順序執行

一.執行緒的join方法作用 join方法把指定的執行緒新增到當前執行緒中,可以不給引數直接thread.join(),也可以給一個時間引數,單位為毫秒thread.join(500)。事實上join方法是通過wait方法來實現的。比如執行緒A中加入了執行緒B.join方法

IntentService 串聯 順序執行(此次任務執行完才執行下一個任務)

IntentService與Service的最大區別就是前者依次執行,執行完當前任務才執行下一個任務,後者併發執行 在IntentService裡面不寫onCreate方法 MainActivity:

多個執行順序執行——join()

package com.jjyy.thread; /** * 假如有三個執行緒T1,T2,T3,如何保證T2在T3之前執行完成,T1在T2之前完成? * @author jiangyu 2015年9月7日 * 注意:執行緒的優先順序無法保障執行緒的執行次序。只不過優先

Jenkins多專案構建:單獨建立一個專案順序執行其它job

作者作品:《Selenium、Appium、OkHttp自動化測試實戰》https://yuedu.baidu.com/ebook/1e229edbbdeb19e8b8f67c1cfad6195f302be803《Selenium、Appium、Requests自動化測試實戰Python版》https://y

讓線程順序執行8種方法

new 超過 需求 功能 並發 通過 流量 true throw 實現我們下面需要完成這樣一個應用場景: 1.早上;2.測試人員、產品經理、開發人員陸續的來公司上班;3.產品經理規劃新需求;4.開發人員開發新需求功能;5.測試人員測試新功能。 規劃需求,開發需求新功能,測試

Ajax順序執行

ror ajax 不能 error gpo pan 為我 又能 erro 循環中的Ajax 在前後端分離的項目中,Ajax是連接前後端的樞紐。 需求:有一個需要循環發起n次的請求,但是n次循環傳參不同,我並不知道n是多少,並且要求能夠保證返回順序。JSONP用同步鎖無效 示

javascript運行機制之執行順序詳解

onload 預編譯 c# step 而且 () 我們 術語 aaa JavaScript是一種描述型腳本語言,它不同於java或C#等編譯性語言,它不需要進行編譯成中間語言,而是由瀏覽器進行動態地解析與執行。那麽JavaScript是怎麽來進行解析的嗎?它的執行順序又是如

如何保證線程的執行順序

new t 使用 ace == sys static ews current pre 示例代碼 static Thread t1 = new Thread(new Runnable() { public void run() { System.out.printl

JavaScript在頁面中的執行順序(理解聲明式函數與賦值式函數) 轉載

AD TE 我們 行動 first FN 順序 而且 編譯性語言 JavaScript在頁面中的執行順序 https://blog.csdn.net/superhoy/article/details/52946277 2016年10月27日 15:38:52 閱讀數:

靜態類中,靜態方法和靜態變數的執行順序出現執行

package com.study; public class StaticCode { static { i = 33;// i's value is from 0 to 33 g(); } static int i = 1;