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


Posted in Javascript onNovember 29, 2019

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

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

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

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排列先后顺序问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
jquery ztree实现下拉树形框使用到了json数据
May 14 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
探寻JavaScript中this指针指向
Apr 23 Javascript
基于node实现websocket协议
Apr 25 Javascript
JavaScript中各种引用类型的常用操作方法小结
May 05 Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
Oct 25 Javascript
vue 组件开发原理与实现方法详解
Nov 29 #Javascript
vue ajax 拦截原理与实现方法示例
Nov 29 #Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 #Javascript
js中关于Blob对象的介绍与使用
Nov 29 #Javascript
js blob类型url的视频下载问题的解决
Nov 29 #Javascript
JavaScript之Blob对象类型的具体使用方法
Nov 29 #Javascript
VuePress 中如何增加用户登录功能
Nov 29 #Javascript
You might like
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
php命令行模式代码实例详解
2021/02/26 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
python matlab库简单用法讲解
2020/12/31 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
自我鉴定写作要点
2014/01/17 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
学校施工安全责任书
2015/01/29 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
运动会宣传语
2015/07/13 职场文书