我有一个数组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;
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?