【发布时间】:2017-07-16 06:31:23
【问题描述】:
我开始使用 Angular 中的 Promise 来解决我的 api 调用,语法如下:
$scope.module = moduleFactory.get({id: $stateParams.id})
.$promise.then(function(response){
$scope.module = response;
}
现在,我遇到了一种情况,我必须在 for 循环中链接多个 Promise,并在 for 循环中的所有 Promise 都解决后执行一些代码。我一直在尝试寻找如何使用 $promise 语法来做到这一点,但互联网上的大多数资源都在谈论 $q。我是开发工作的新手,我发现在这两个概念($q 和 $promise)之间进行权衡非常令人困惑。请各位好心人:首先,向我解释一下 $promise 和 $q 之间的区别;其次,如果我决定使用 $q 来解决如上所述的当前问题,这是否意味着我必须重写使用 $promise 的代码才能使其与 $q.all() 之类的东西可链接?
【问题讨论】:
-
简短回答:
$promise是某些操作返回值的属性,它返回对该操作结果的承诺。$q是一项服务,它提供了一些 Promise 创建和操作机制,例如$q.all和$q.resolve。
标签: angularjs promise angular-promise angular-resource