解决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 相关文章推荐
firefox中用javascript实现鼠标位置的定位
Jun 17 Javascript
document.compatMode介绍
May 21 Javascript
Domino中运用jQuery读取视图内容的方法
Oct 21 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
Feb 12 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
JavaScript设计模式之单体模式全面解析
Sep 09 Javascript
jQuery无缝轮播图代码
Dec 22 Javascript
JS分页的实现(同步与异步)
Sep 16 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
Vue的路由动态重定向和导航守卫实例
Mar 17 Javascript
element-ui循环显示radio控件信息的方法
Aug 24 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 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
基于mysql的bbs设计(一)
2006/10/09 PHP
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
PHP中PDO的错误处理
2011/09/04 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Vue加载json文件的方法简单示例
2019/01/28 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
python购物车程序简单代码
2018/04/18 Python
python实现抖音点赞功能
2019/04/07 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
详解Django配置优化方法
2019/11/18 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
实习单位接收函
2014/01/11 职场文书
大学生志愿者感言
2014/01/15 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
入股协议书范本
2014/04/14 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
教师年终个人总结
2015/02/11 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技