加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

随后的ajax调用angularJs

发布时间:2020-12-16 02:45:24 所属栏目:百科 来源:网络整理
导读:我想在服务中的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]
我想在服务中的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读