我使用Jaydata作爲HTML5 indexedDB的API。我在indexedDB中有一個表,我需要遞歸查詢。整個過程完成後,我需要回調。以下是遞歸函數。當一切都完成時,我需要回電。在遞歸異步調用中處理回調
function getData(idValue) {
myDB.MySplDB
.filter(function(val) {
return val.ParentId == this.parentId;
}, {parentId: idvalue})
.toArray(function(vals) {
if(vals.length < 1) {
// some operation to store the value
} else {
for (var j=0;j<vals.length;j++) {
getData(vals[j].Id);
}
}
});
}
添加.done(function(){...});
到.toArray
不起作用,因爲它被完成之前調用。
在部分// //存儲值的一些操作,我不會將值存儲在數據庫中。我將這些存儲在一個數組中。目的是獲得所有沒有孩子的元素,即對象的Id不是任何其他對象的parentId。 – Prabhat 2013-03-05 15:30:36
還有什麼我必須返回而不是'return myDB.saveChanges(); '如果我沒有將值存儲在數據庫中? – Prabhat 2013-03-05 15:38:25
在這種情況下,您可以返回任何內容,例如返回true; – 2013-03-05 15:46:10