时间:2021-05-18
最近我在做angularjs程序时遇到了一个问题
1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个):
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排列先后顺序问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
nodejs实现函数串行执行众所周知,nodejs是用非阻塞异步io机制,也就是说函数执行完成的先后顺序和代码的编写的先后顺序可能不同,实际的顺序取决于一个函数
壹❀引我们都知道,JS代码的执行顺序总是与代码先后顺序有所差异,当先抛开异步问题你会发现就算是同步代码,它的执行也与你的预期不一致,比如:func
•多个ajax请求同时发送,相互无依赖。•多个ajax请求相互依赖,必须有先后顺序。•多个请求被同时发送,只需要最后一个请求
css定义超链接是要有先后顺序的。否则,在某些浏览器里面有可能会出现某个样式不起作用的bug。不能正确显示想要的效果。CSS属性的排列顺序:L-V-H-A。L-
随着淘宝平台的不断壮大,在淘宝开店的商家越来越多了,而且很多的消费者也喜欢在淘宝平台消费。那么淘宝订单顺序是按时间的先后顺序来排列的吗?下面来了解一下吧。 系