我使用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