我有一個表格,用戶可以選擇多行並點擊刪除按鈕。我需要我的代碼循環選定的記錄並刪除它們。
我打電話customerService.delete({id: id})
刪除每條記錄,但我需要知道哪些失敗,哪些成功,以便我可以適當地處理它。
我一直在使用$q.all
嘗試,但我不知道怎麼知道哪些行失敗和succeedd:
var promises = [];
$('input:checkbox:checked', $('#customers')).each(function() {
var nRow = $(this).closest('tr')[0];
var aData = oTable.fnGetData(nRow);
var id = aData[0];
promises[id] = customerService.delete({id: id}).$promise;
});
$q.all(promises).then(
function(data) {
console.log(data);
}, function(data) {
console.log(data);
}
);
我怎麼知道哪個我刪除操作的失敗和成功了嗎?
編輯:我已經嘗試了下面,但我得到undefined爲id
和status
。
var promises = [];
$('input:checkbox:checked', $('#customers')).each(function() {
var nRow = $(this).closest('tr')[0];
var aData = oTable.fnGetData(nRow);
var id = aData[0];
var promise = customerService.delete({id: id}).$promise;
promise.then(function(){
return {status: true, id: id}
}).catch(function(){
return {status: false, id: id}
})
promises.push(promise);
});
$q.all(promises).then(function(results) {
$.each(results, function(result) {
console.log(result.id + ' ' + result.status);
});
});
results
樣子:
爲什麼會出現在加入承諾問題數組索引?爲什麼需要推送? – Lock