解决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插件开发之实现google+圈子选择功能
Mar 10 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
Nov 23 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
Mar 10 Javascript
详解利用jsx写vue组件的方法示例
Jul 17 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 Javascript
Gulp实现静态网页模块化的方法详解
Jan 09 Javascript
总结javascript三元运算符知识点
Sep 28 Javascript
JS简易计算器实例讲解
Jun 30 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
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
js性能优化技巧
2015/11/29 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
python中尾递归用法实例详解
2015/04/28 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Python中断多重循环的思路总结
2019/10/04 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
园艺师求职信
2014/03/10 职场文书
美国留学经济担保书
2014/05/20 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
反四风对照检查材料
2014/09/22 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
员工辞职信范文
2015/03/02 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
Python+Appium新手教程
2021/04/17 Python