在AngularJs中链接Ajax调用

前端之家收集整理的这篇文章主要介绍了在AngularJs中链接Ajax调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一个链中进行多个Ajax调用。但是我也想在每次呼叫之后按下数据,然后进行下一个呼叫。最后,当所有调用成功时,我想运行一些其他代码

我使用Angular $ http服务为我的Ajax调用,并希望坚持。

可能吗?

是的,这是由AngularJS处理非常优雅,因为它的$ http服务是围绕PromiseAPI构建的。基本上,对$ http方法调用返回一个promise,你可以通过使用then方法很容易地链接promises。这里是一个例子:
$http.get('http://host.com/first')
   .then(function(result){
    //post-process results and return
    return myPostProcess1(result.data); 
   })
   .then(function(resultOfPostProcessing){
    return $http.get('http://host.com/second'); 
   })
   .then(function(result){
    //post-process results of the second call and return
    return myPostProcess2(result.data); 
   })
   .then(function(result){
      //do something where the last call finished
   });

你也可以结合后处理和下$ $函数,这一切都取决于谁是对结果感兴趣。

$http.get('http://host.com/first')
   .then(function(result){
    //post-process results and return promise from the next call
    myPostProcess1(result.data); 
    return $http.get('http://host.com/second'); 
   })
   .then(function(secondCallResult){
     //do something where the second (and the last) call finished
   });

猜你在找的Angularjs相关文章