解决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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
jQuery 无限级菜单的简单实例
Feb 21 Javascript
jQuery验证插件validation使用指南
Apr 21 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
Nov 03 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
基于JavaScript实现选项卡效果
Jul 21 Javascript
Vue的属性、方法、生命周期实例代码详解
Sep 17 Javascript
JS实现图片切换特效
Dec 23 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数据库抽象层 PDO
2011/05/07 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
简单讲解Python中的闭包
2015/08/11 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Django  ORM 练习题及答案
2019/07/19 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
一份创业计划书范文
2014/02/08 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
六年级作文之预言作文
2019/10/25 职场文书