ajax 同时多个请求,各个请求返回结果汇合再进行后续操作,该如何实现?

想要实现ajax同时调用多个接口,每个接口返回结果保存到一个集合中,然后再进行后续操作该如何实现?一个应用场景应该像这个样子的:接口A返回用户ID,接口B返回用户性别,然后根据用户ID和性别进行后续查询,接口A和接口B是相互独立的

阅读 9.9k
4 个回答

使用promise,在jquery的用法如下:使用when方法

$.when([$.ajax('/request1'), $.ajax('/request2'), $.ajax('/request3')]).done(function (data) {
     console.log('第一个ajax请求',data[0]);
     console.log('第二个ajax请求',data[1]);
     console.log('第三个ajax请求',data[2]);
});

通常有这种需求的时候,想想是否可以使用一次异步请求去实现。
如果真的是特殊情况,那么就在第一个异步成功后,在回调方法内执行第二个异步,以此类推。
但这样子,不便于代码的后期维护。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题