今天我們來談一下jquery deferred ajax。
jquery deferred 是jquery的一個強大的特性,它可以讓我們更好地處理異步請求,如ajax。
在普通的ajax請求中,我們需要在請求的回調函數中處理返回的數據,這樣會導致代碼的可讀性變得很差,并且不便于管理,代碼可能會變得非常復雜。
$.ajax({
url: "http://example.com",
success: function(data) {
// 處理返回的數據
}
});
而使用jquery deferred的話,我們可以將請求和處理分離開來,也就是說在請求發送之后,我們可以使用deferred對象處理返回的數據。
var request = $.ajax({
url: "http://example.com"
});
request.done(function(data) {
// 處理返回的數據
});
當然,我們也可以向一個deferred對象添加多個請求,這樣做的好處就是可以并行處理多個請求,并且不用擔心數據混淆。
var request1 = $.ajax({
url: "http://example.com"
});
var request2 = $.ajax({
url: "http://example2.com"
});
$.when(request1, request2).done(function(data1, data2) {
// 處理返回的數據
});
使用jquery deferred可以讓我們的代碼更加清晰易懂,并且可以有效地處理多個異步請求。
除此之外,jquery deferred還有很多其他的應用,如promise鏈等,這些就需要我們自己去探索了。