解决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 相关文章推荐
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
来自qq的javascript面试题
Jul 24 Javascript
javaScript中的this示例学习详解及工作原理
Jan 13 Javascript
javascript获取form里的表单元素的示例代码
Feb 14 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
Vue路由守卫之路由独享守卫
Sep 25 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
对vuex中store和$store的区别说明
Jul 24 Javascript
关于Vue Router的10条高级技巧总结
May 06 Vue.js
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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
PHP学习笔记之二
2011/01/17 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
php开发文档 会员收费1期
2012/08/14 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
领导干部培训感言
2014/01/23 职场文书
入股协议书
2014/04/14 职场文书
建筑投标担保书
2014/05/20 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript