angularjs – q.all不适用于多个承诺
发布时间:2020-12-17 06:57:23 所属栏目:安全 来源:网络整理
导读:我有以下q.all呼吁解决两个承诺.我检查了所有帖子并尝试了所有其他实现方式q.all及其相同的情况 var xyzdeffered = $q.defer();service1.getServiceDetail1($routeParams.id).then(function(promise) { xyzdeffered.resolve(promise);});var abcdeffered = $
我有以下q.all呼吁解决两个承诺.我检查了所有帖子并尝试了所有其他实现方式q.all及其相同的情况
var xyzdeffered = $q.defer(); service1.getServiceDetail1($routeParams.id).then(function(promise) { xyzdeffered.resolve(promise); }); var abcdeffered = $q.defer(); service2.getServiceDetail2($routeParams.id).then(function(promise) { abcdeffered.resolve(promise); }); $q.all([ xyzdeffered,abcdeffered ]).then(function(data) { $scope.variable = data; }); 我期待q.all中的变量只有在前两个promise被解析后才能填充.但不幸的是,服务调用本身并没有返回数据,控件转移到q.all.我发现这很奇怪,因为根据文档,仅当您的承诺以200响应返回并且已解决时才会调用q.all. 解决方法
为什么不在第一个承诺上直接调用$q.all?
$q.all([ service1.getServiceDetail1($routeParams.id),service2.getServiceDetail2($routeParams.id) ]).then(function(data) { //Array of result [resultOfgetServiceDetails1,resultOfgetServiceDetails2] $scope.variable = data; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- scala – 如何在Spark中对GroupedData进行自定义
- angular – BrowserModule和platformBrowserDyna
- 网络 – 在具有docker容器的独立群集上使用Spark
- angular – 如何使用list-formatter示例ng2-auto
- 如何在vim中插入日期和时间以及字符串文字?
- Angular单元测试系列-如何使用Jasmine进行Angula
- bash – 使用wget“checkout”svn存储库
- 关于Bootstrap弹出框无法调用问题的解决办法
- bash – 重新加载.Xresources而不重新启动xterm
- 如何将包含多个搜索和替换的宏保存到我的.vimrc中
热点阅读