Javascript jQuery:如何在所有异步调用返回时触发事件?

Javascript jQuery:如何在所有异步调用返回时触发事件?,javascript,jquery,events,asynchronous,Javascript,Jquery,Events,Asynchronous,我有一个jQuery应用程序,它从五个异步服务器调用加载数据。我不想显示任何数据,直到所有五个呼叫返回。(我计划在此之前显示一条加载消息。) 如何检测五个呼叫何时全部返回?我考虑让每个回调方法增加一个变量(可能使用jQuery的data()方法),然后等待值变为5。(我还不确定我将如何倾听这一事件。)然而,我认为这不是一个很好的解决方案。如果两个呼叫同时返回,会发生什么情况 有更好的方法吗?如果您已经在使用jQuery进行AJAX调用,您可以使用它,当所有当前调用返回时,它会触发,您可以这样使用

我有一个jQuery应用程序,它从五个异步服务器调用加载数据。我不想显示任何数据,直到所有五个呼叫返回。(我计划在此之前显示一条加载消息。)

如何检测五个呼叫何时全部返回?我考虑让每个回调方法增加一个变量(可能使用jQuery的data()方法),然后等待值变为5。(我还不确定我将如何倾听这一事件。)然而,我认为这不是一个很好的解决方案。如果两个呼叫同时返回,会发生什么情况


有更好的方法吗?

如果您已经在使用jQuery进行AJAX调用,您可以使用它,当所有当前调用返回时,它会触发,您可以这样使用它:

$("#loading").ajaxStop(function() {
  $(this).fadeOut();
});
$("#loading").bind('ajaxStop', function() {
  $(this).fadeOut();
});
这实际上与
没有什么不同。单击()
这只是一个事件,如果您愿意,您可以自己使用
ajaxStop
事件,如下所示:

$("#loading").ajaxStop(function() {
  $(this).fadeOut();
});
$("#loading").bind('ajaxStop', function() {
  $(this).fadeOut();
});

如果您已经在使用jQuery进行AJAX调用,您可以使用它,当所有当前调用返回时,它会触发,您可以这样使用它:

$("#loading").ajaxStop(function() {
  $(this).fadeOut();
});
$("#loading").bind('ajaxStop', function() {
  $(this).fadeOut();
});
这实际上与
没有什么不同。单击()
这只是一个事件,如果您愿意,您可以自己使用
ajaxStop
事件,如下所示:

$("#loading").ajaxStop(function() {
  $(this).fadeOut();
});
$("#loading").bind('ajaxStop', function() {
  $(this).fadeOut();
});

无法更好地解释它!:)+1-你又一次向我展示了一些我从来不知道jQuery做过的事情。我一直在使用一个计数器变量……无法更好地解释它!:)+1-你又一次向我展示了一些我从来不知道jQuery做过的事情。我一直在使用一个计数器变量。。