我在IndexedDB中的函数有问题,我需要更改某些会议的状态。搜索功能哪些会议通过获取每个会员的ID来检查,在我回溯包含每个数据库访问的ID的向量后,我是否会获得不同的时间ID。下面的代码示例:与indexeddb问题异步
var val = [];
var checkbox = $('input:checkbox[class^=checkReunioes]:checked');
if(checkbox.length > 0){
checkbox.each(function(){
val.push($(this).val());
});
}
for(var i = 0; i < val.length; i++){
var transaction = db.transaction(["tbl_REUNIOES"], "readwrite").objectStore("tbl_REUNIOES");
var request = transaction.get(val[i]);
request.onerror = function(event) {
alert("BAD");
};
request.onsuccess = function(event) {
var data = request.result;
data.FLG_STATU_REUNI = 'I';
var codigo_igreja = localStorage.getItem("igreja");
var dataJSON = JSON.stringify(data);
enviarFilaSincronismo("tbl_REUNIOES", "U", dataJSON, " WHERE COD_IDENT_REUNI = '" + val[i] + "' and COD_IDENT_IGREJ = '" + codigo_igreja + "'");
var requestUpdate = transaction.put(data);
requestUpdate.onerror = function(event) {
alert("OK");
};
requestUpdate.onsuccess = function(event) {
$("#listReunioes").html("");
serchAll(w_key_celula);
};
};
}
在我看来,问题发生原因是银行IndexedDB的异步,把它传递给下一个搜索,甚至连第一站前。 但我该怎么做才能赋予它呢? 在这种情况下,最好的做法是什么?
实际上在第3点和第4点发现了问题,其余的问题被证实是完美运行的,将会有响应表明正确的方法来完成该过程?试图在编程之前保持最大的代码? –