使用jQuery時,需要合并未知數(shù)量個ajax請求方法

一、已知數(shù)量的ajax請求時
當(dāng)ajax請求的數(shù)量固定且已知時,可以直接使用jQuery的$.when().then()方法:

$.when(ajax1,ajax2,ajax3,...).then(successFunc(){},failFunc(){});

示例:

$.when($.ajax(options), $.ajax({options})).done(function (data1, data2) {
    //doSomething
});

二、當(dāng)未知數(shù)量的ajax請求時
第一種情況的解決辦法很簡單,但是有時候可能會遇到一些特殊的情況,比如某些時候想把這些請求的過程提取出來寫作一個通用的方法,此時請求的數(shù)量就變得不確定了,這種時候,$.when()中的參數(shù)就變得沒有辦法填了,而$.when()又不支持直接接受ajax數(shù)組作為參數(shù)(這是因為$.when方法的參數(shù)需要的是promise對象,而不是array對象),因此我們需要使用apply()方法來將存有不確定數(shù)量的ajax請求對象的數(shù)組傳入$.when()方法中。
示例:

var requestList = [ ajax1 , ajax2 , ajax3 , ... ];  //存有不確定數(shù)量的ajax請求對象的數(shù)組
$.when.apply($, requestList).done(function () {
    //通過arguments來取出每個ajax請求成功函數(shù)返回的數(shù)據(jù)
    //doSomething
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,653評論 19 139
  • 抽象來說,deferreds 可以理解為表示需要長時間才能完成的耗時操作的一種方式,相比于阻塞式函數(shù)它們是異步的,...
    北方蜘蛛閱讀 1,651評論 1 5
  • 二月的陽光,很冷,二月的風(fēng),很暖,二月的月,很高,二月的傷,很淺,到底二月很美。 給生命 友愛與生命,若愛不能給你...
    321小肥仔閱讀 262評論 0 0
  • 你是否總是戒一兩星期后就受不了,重新開始抽煙。 你是否戒煙多次都是以失敗告終。 …… 到底怎么戒煙才最有效呢?如果...
    大東教練閱讀 486評論 0 2

友情鏈接更多精彩內(nèi)容