我认为这是一个菜鸟问题,但找不到直接解决方案。这是我的情况:

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值。

谢谢!

最佳答案

function queryDBWithParam(param1) {
  return function(tx) {
      //you can use parameter param1
      tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB);
  }
}

db.transaction(queryDBWithParam("hello"), errorCB);

关于javascript - 通过db.transaction函数传递参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35506950/

10-11 23:50