解决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 相关文章推荐
javascript面向对象的方式实现的弹出层效果代码
Jan 28 Javascript
重载toString实现JS HashMap分析
Mar 13 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
浅谈Javascript数组的使用
Jul 29 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
AngularJS入门教程之路由与多视图详解
Aug 19 Javascript
微信小程序之前台循环数据绑定
Aug 18 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
使用vue-infinite-scroll实现无限滚动效果
Jun 22 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
Jun 28 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 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中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
ExtJS 入门
2010/10/29 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
js Math 对象的方法
2013/09/01 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
javascript实现密码验证
2015/11/10 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python3 Click模块的使用方法详解
2020/02/12 Python
python不同系统中打开方法
2020/06/23 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
用canvas显示验证码的实现
2020/04/10 HTML / CSS
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
团员个人的自我评价
2013/12/02 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
顶撞老师检讨书
2014/02/07 职场文书
端午节演讲稿
2014/05/23 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
护士节慰问信
2015/02/15 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
提档介绍信范文
2015/10/22 职场文书
Java线程的6种状态与生命周期
2022/05/11 Java/Android