【发布时间】:2014-06-12 14:38:58
【问题描述】:
我有一个数组queue,当它们被修改时,我会将对象推送到它。如果用户按下save,那么我将遍历queue 并为它们应用适当的API 调用。
如果 API 调用成功通过,我想从 queue 中删除该项目,否则将其保留在内部并通知用户某些项目未成功保存。我目前有这个(在 AngularJS 中)
var unsuccessfulItems = [];
var promise = queue.map(function(item) {
var defer = $q.defer();
myCallFunction( item
, function( response ) {} // Success
, function( response ) { // Error
unsuccessfulItems.push(item);
}
)
defer.resolve();
return defer.promise;
})
// Once all items have been processed
$q.all( promise ).then( function() {
queue = unsuccessfulItems;
});
有更好的方法吗?
【问题讨论】:
-
好像
filter是必需的:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…?
标签: javascript angularjs map iteration promise