随后的ajax调用angularJs

我想在服务中的angularJs中进行后续的ajax调用.

我尝试过这样的事情:

var requests = [
    {'url': 'call1'},{'url': 'call2'},{'url': 'call3'}
];

return $q.all([
    $http({
        url: requests[0],method: "POST"
    }).then( /*callback*/ ),$http({
        url: requests[1],method: "POST"
    }).then( /*callback*/ )
]);

但这使得alla ajax并行.我需要一种方法来进行后续调用,所以在第一次结束后,它会调用第二个….

解决方法

你可以链接承诺:

var requests =[{'url':'index.html'},{'url':'index.html'},{'url':'index.html'}];

function makeCall(n) {
  return $http({url:requests[n].url+"?n="+n,method:"GET"}).then(function(r) {
     if (n+1<requests.length) return makeCall(n+1);
  });
}
   makeCall(0);

http://plnkr.co/edit/1HdYUtHKe8WXAFBBq8HE?p=preview

相关文章

$.AJAX()方法中的PROCESSDATA参数 在使用jQuery的$.ajax()方...
form表单提交的几种方式 表单提交方式一:直接利用form表单提...
文章浏览阅读1.3k次。AJAX的无刷新机制使得在注册系统中对于...
文章浏览阅读1.2k次。 本文将解释如何使用AJAX和JSON分析器在...
文章浏览阅读2.2k次。/************************** 创建XML...
文章浏览阅读3.7k次。在ajax应用中,通常一个页面要同时发送...