Вы связываете операции через успешные обратные вызовы. Таким образом, вы можете быть уверены в порядке операций. См. Пример кода, доступного в этой статье .
Вы можете использовать обратные вызовы, доступные для объекта транзакции или отдельных запросов, tx.executeSql(sql, [], callback, errorCallback)
.
var sql_createTables = "CREATE .....",
sql_inserts= "INSERT .....";
function errorHandler(tx, error) {
//do error handling
}
db.transaction(
function(tx){
tx.executeSql(sql_createTables,[], function(tx, result){
//The table was created
tx.executeSql(sql_inserts,[], function(tx, result){
// Inserts completed
});
},
errorHandler);
}, function(error) { alert("Oh, noes! The whole transaction failed!"); },
function() { alert("Yeah, baby! We did it."); });
WebWorker не имеет к этому никакого отношения и никак не поможет, поскольку WebWorker
не имеет доступа к DOM, частью которого являются localStorage
и WebSql
.