Javascript 在PhoneGap中链接SQLite调用
我将SQLite call链接到phone gap以实现同步性,如下所示:Javascript 在PhoneGap中链接SQLite调用,javascript,sqlite,cordova,asynchronous,race-condition,Javascript,Sqlite,Cordova,Asynchronous,Race Condition,我将SQLite call链接到phone gap以实现同步性,如下所示: db.transaction(initDB, errorCB, function() { db.transaction(lookupContactDB, errorCB, function() { db.transaction(contactUpdateDB, errorContactCB, function() {
db.transaction(initDB, errorCB, function() {
db.transaction(lookupContactDB, errorCB, function() {
db.transaction(contactUpdateDB, errorContactCB, function() {
db.transaction(lookupUpdatedDB, errorUpdateCB, function() {
updateRiders();
})
})
})
});
然而,很明显,成功回调正在恢复我们的订单。当下一个事务应该只在调用前一个事务的成功回调时启动时,这怎么可能呢。我遗漏了什么吗?我认为在这种情况下,您不应该在其他事务中进行新的事务。您可能想要的是在那里执行SQL。所以像这样的流程可能会更好
db.transaction(initDB, errorCB, function(tx) {
tx.executeSql("YOUR QUERY", [], function(tx, results1) {
tx.executeSql("SECOND QUERY", [], function(tx, results2) {
tx.executeSql("THIRD QUERY", [], function(tx, results3) {
updateRiders();
});
});
});
};
现在发生的情况如下: