所有ajax请求完成后如何调用alert?

Max*_*rai 5 javascript ajax jquery

我在代码中使用JQuery和get.看起来像:

$.get('address1', function() { ... });
$.get('address2', function() { ... });
$.get('address3', function() { ... });

// This code should be runned when all 3 requests are finished
alert('Finished');
Run Code Online (Sandbox Code Playgroud)

那么,是否有任何方法可以检测是否仍有处理请求并仅在所有3个请求完成时运行标记代码.

谢谢.

Fel*_*ing 13

您可以使用jQuery 1.5中引入的延迟对象 [docs]:

$.when(
    $.get('address1', function() { ... }),
    $.get('address2', function() { ... }),
    $.get('address3', function() { ... })
).then(function() {
    alert('Finished');
});
Run Code Online (Sandbox Code Playgroud)

参考: jQuery.when

jQuery学习中心对延迟对象/承诺进行了很好的介绍.