遍历包含承诺的数组
Looping over array that includes promises
我正在构建一个 angularjs 应用程序,我们在
$scope.list
存储了由特定 ngResource 工厂创建的数组项。我通过简单地从列表中切片来即时删除一些项目。
$scope.list.splice(pos,1);
稍后在代码中我遍历现有元素并想用 :
保存它们
for (var elem in $scope.list ){
$scope.list[elem].$save();
}
问题是,如果列表为空,我在 $scope.list
中有一个 $promise
我应该如何处理,以便不会为只有承诺的元素调用保存?
您应该从过滤数组开始,然后将项目保存在过滤后的数组中:
$scope.list
.filter(function (elem) {
return typeof elem.then !== 'function';
})
.forEach(function (elem) {
elem.$save();
});
我正在构建一个 angularjs 应用程序,我们在
$scope.list
存储了由特定 ngResource 工厂创建的数组项。我通过简单地从列表中切片来即时删除一些项目。
$scope.list.splice(pos,1);
稍后在代码中我遍历现有元素并想用 :
保存它们for (var elem in $scope.list ){
$scope.list[elem].$save();
}
问题是,如果列表为空,我在 $scope.list
中有一个 $promise
我应该如何处理,以便不会为只有承诺的元素调用保存?
您应该从过滤数组开始,然后将项目保存在过滤后的数组中:
$scope.list
.filter(function (elem) {
return typeof elem.then !== 'function';
})
.forEach(function (elem) {
elem.$save();
});