jQuery AJAX中的when()方法可以用于同時發送多個異步請求。在使用when()方法時,我們可以為每個異步請求創建一個deferred對象,并將這些deferred對象傳遞給when()方法,然后通過回調函數來處理所有異步請求的結果。
// 創建兩個deferred對象 var deferred1 = $.Deferred(); var deferred2 = $.Deferred(); // 分別發送兩個異步請求 $.ajax({ url: 'url1', dataType: 'json', success: function(res) { // 對請求結果做處理 deferred1.resolve(res); }, error: function(err) { // 對請求錯誤做處理 deferred1.reject(err); } }); $.ajax({ url: 'url2', dataType: 'json', success: function(res) { // 對請求結果做處理 deferred2.resolve(res); }, error: function(err) { // 對請求錯誤做處理 deferred2.reject(err); } }); // 處理所有異步請求的結果 $.when(deferred1, deferred2).done(function(res1, res2) { // 處理所有請求成功的結果 }).fail(function(err1, err2) { // 處理所有請求失敗的結果 });
上述代碼中,我們通過創建兩個deferred對象分別發送兩個異步請求,并在請求成功或失敗時將結果通過deferred對象的resolve()和reject()方法傳遞出去。然后通過$.when()方法來處理這兩個異步請求的結果,當所有請求成功時執行done()回調函數,否則執行fail()回調函數。