微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

随后的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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐