我正在使用phonegap+sqlite。
我正在尝试插入一些东西。
这是代码-
function insertDB() {
var sqlI = "INSERT INTO post_data(post_text,pdate) VALUES("Hello, world","23-05-2012");
mydb.transaction(
function(transaction) {
transaction.executeSql(sqlI, [], nullDataHandler, errorHandler);
});
console.log("inserted");
window.location="dashboard.html";
}
当我删除线路window.location="dashboard.html"
或将延迟设置为 1000ms 时,我可以插入数据,然后执行 window.location="dashboard.html"
.但是上面的代码不起作用。为什么?
我认为transaction
函数是异步的。尝试将重定向放在上面:
mydb.transaction(
function(transaction) {
transaction.executeSql(
sqlI,
[],
function(transaction, results){
// passing transaction and results in case you have to display some returned statements
window.location="dashboard.html";
},
nullDataHandler
);
});
如您所见,重定向将在结果处理程序中处理。