我认为这是一个相当的noob问题,但无法找到直接的解决方案。这是我的情况:
var db = window.openDatabase("database.db", "1.0", "Any_Name", 20000);
db.transaction(queryDB, errorCB);
//-------------------------------------
function queryDB (tx) {
tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
}
这没有问题,但是当我尝试通过queryDB函数发送额外的参数时,我总是收到错误,我试过了:
db.transaction(queryDB ("hello"), errorCB);
db.transaction(queryDB (db, "hello"), errorCB);
db.transaction(queryDB (tx, "hello"), errorCB);
和
function queryDB (tx, param1) {
tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
}
我不确定queryDB函数最初在哪里获取 tx 值。
谢谢!
答案 0 :(得分:2)
function queryDBWithParam(param1) {
return function(tx) {
//you can use parameter param1
tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
}
}
db.transaction(queryDBWithParam("hello"), errorCB);