Я использую Jaydata как API для индексированного HTML5DB. У меня есть таблица в 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
не работает, так как он вызывается до завершения.
В раздел '// какая-то операция для хранения значения', я не сохраняю значение в БД. Я храню их в массиве. Цель состоит в том, чтобы получить все элементы, у которых нет дочерних элементов, т. Е. Идентификатор объекта не является родителем любого другого объекта. – Prabhat
Что еще я должен вернуть вместо 'return myDB.saveChanges(); 'если я не храню значение в БД? – Prabhat
В этом случае вы можете вернуть что угодно, например return true; –