我正在使用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"
或设置延迟1000毫秒时,我能够插入数据,然后执行window.location="dashboard.html"
。但上面的代码不起作用。为什么呢?
答案 0 :(得分:1)
我认为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
);
});
如您所见,重定向将在resultHandler中处理。