解决Angularjs异步操作后台请求用$q.all排列先后顺序问题

 更新时间:2019年11月29日 12:11:00   作者:斩月飞仙  
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

最近我在做angularjs程序时遇到了一个问题

1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个):

2.众多的选项要从后台接口得到,默认项从另一个后台接口得到,这就需要$promise.then()操作

3.而多个$promise.then()属于异步操作,先后顺序不是一定的,如果先得到众多选项,后得到默认值,显示就没有问题,如果顺序颠倒,默认项就会为空,这不是我想要的

4.这就需要众多选项的后台请求都获得完,才去后台请求默认值,

就用$q.all方法

let list = $q.all({    // 多个后台请求,部分先后顺序
 url1: getUrl1().$promise,
 url2: getUrl2().$promise,
 url3: getUrl3().$promise,
});
$scope.list.then(function (result) {
  // 三个后台请求结果
 result.url1
 result.url2
 result.url3
}).finally(function () {  // finally的优点:1.无论成功失败都会执行 2.前面三个请求结束后才会执行
 // 最后一个后台请求
   // TODO
});
 

补充:当然还有then().then().then()......这种方法,就把请求顺序执行了,不过select众多选项的后台请求不需要先后顺序,只是默认项需要最后执行,我就选择$q.all这种方法了。

总结

以上所述是小编给大家介绍的解决Angularjs异步操作后台请求用$q.all排列先后顺序问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • AngularJS ng-mousedown 指令

    AngularJS ng-mousedown 指令

    本文主要介绍AngularJS ng-mousedown 指令,这里帮大家整理了ng-mousedown 指令的基本资料,并附代码示例,有需要的朋友可以参考下
    2016-08-08
  • Angular 1.x个人使用的经验小结

    Angular 1.x个人使用的经验小结

    这篇文章主要给大家介绍了关于Angular 1.x个人使用的一些经验,属于一些基础入门教程,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • AngularJS 避繁就简的路由

    AngularJS 避繁就简的路由

    这篇文章主要为大家详细介绍了AngularJS 避繁就简的路由的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Angularjs根据json文件动态生成路由状态的实现方法

    Angularjs根据json文件动态生成路由状态的实现方法

    最近做项目遇到这样一个新需求,就是需要根据json文件动态生成路由状态,通过查阅相关资料实现了此功能,下面小编把问题总结分享到脚本之家平台供大家参考
    2017-04-04
  • AngularJS实现动态编译添加到dom中的方法

    AngularJS实现动态编译添加到dom中的方法

    这篇文章主要介绍了AngularJS实现动态编译添加到dom中的方法,结合实例形式分析了AngularJS动态编辑构建模板的相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • Angular2数据绑定详解

    Angular2数据绑定详解

    本篇文章主要介绍了Angular2数据绑定的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Angular ui.bootstrap.pagination分页

    Angular ui.bootstrap.pagination分页

    这篇文章主要为大家详细介绍了Angular ui.bootstrap.pagination 分页的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Angular中的NgZone.run()有什么用途

    Angular中的NgZone.run()有什么用途

    在Angular中,NgZone是一个服务,用于管理异步任务的执行,并提供一种在Angular区域内或外部显式运行代码的方式,NgZone.run方法是一种显式在Angular区域内运行函数的方式,本文介绍Angular中的NgZone.run()有什么用,感兴趣的朋友一起看看吧
    2024-01-01
  • AngularJs表单验证实例详解

    AngularJs表单验证实例详解

    这篇文章主要介绍了用AngularJs验证表单实例详解的相关资料,需要的朋友可以参考下
    2016-05-05
  • Angular2 组件通信的实例代码

    Angular2 组件通信的实例代码

    本篇文章主要介绍了Angular2 组件通信的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论