- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 Angular 服务遍历一个列表,调用 Web API 来添加/修改数据库中的记录(在一个小记录集上运行——最多更新 10 条记录)。由于 Angular 服务正在返回 promise ,因此在循环完成后 Angular 重新加载状态并更新了一些数据。只有在我刷新页面后,列表才会完全更新。一切都按预期工作;但是我认为在数据库完全完成其操作之前, Angular 正在返回。有没有办法让我有 Angular 等待返回,直到完成所有更新?
这是调用 Angular 服务的迭代列表(最多 10 个项目):
for (var i = 0, ii = $scope.Model.permissions.length; i < ii; i++) {
//if id === 0, it is a new record
if ($scope.Model.permissions[i].New === true && $scope.Model.permissions[i].Deleted === false) {
angularService.update($scope.Model.permissions[i]);
}
}
在过去,我使用$q
来等待所有的promise 被解决后再执行一段代码:
$q.all([$scope.Model.permissions.$promise,
$scope.Model.configurations.$promise
]).then(function () {
$scope.dataLoaded = true;
});
每个 promise 将分配给资源调用的地方:
$scope.Model.permissions = permissionFactory.fetch({ id: $stateParams.id);...
我不认为我可以仅仅因为我在列表上循环就使用这个模式。
如有任何帮助或指导,我们将不胜感激!
最佳答案
ArrayOFPromises = [];
for (var i = 0, ii = $scope.Model.permissions.length; i < ii; i++) {
//if id === 0, it is a new record
if ($scope.Model.permissions[i].New === true && $scope.Model.permissions[i].Deleted === false) {
ArrayOFPromises.push(angularService.update($scope.Model.permissions[i]));
}
}
然后
$q.all(ArrayOFPromises).then(function () {
//dosomething
});
关于javascript - 赛车状态 : Angular vs Web API & Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30125835/
短版: 计划: 控制赛车(汽车)圈速(不得重置) 可以用作天文台 b 能够用作反向计时器(开始于 X 分钟:秒结束于 00:00) 长版: 我需要一个程序来控制时间,我需要时间来回(由我选择) 然后我
我正在玩一些 Boost 线程,我编写了以下代码: #include #include volatile int threads = 0; const int iterations = 200;
我对 QuickSort 进行了一些改进,并决定针对 Java Arrays.sort() 对其进行测试。 结果令人着迷: 在 Java 6 上: 我的时间/系统时间 = 74/83 = 0.8915
我是一名优秀的程序员,十分优秀!