好的,我已经在这方面工作了几天,但我没有找到任何有助于此实例的示例。这似乎是一个非常普遍的场景,所以也许我只是没有找到正确的位置,或者解决方案可能比我想要的更复杂。
我有一个预构建的函数transaction,它接受回调函数queryDB。
db.transaction(queryDB, errorCB, successCB);
通过设计,queryDB将有一个“tx”或数据库事务对象来进行SQL调用。
function queryDB(tx){
alert("transact");
tx.executeSql("SELECT * FROM Sound", [], rqDB, errorCB);
}
现在我想将一些额外的变量传递给queryDB,特别是sqlCmd和一个结果回调函数。我已经尝试了很多方法来包装queryDB,我最喜欢的就是这样:
db.transaction({
onQueryDB: function(tx) {
queryDB(tx,sqlCmd,cb);
}
}, errorCB, successCB);
但是这不会调用我的queryDB函数。这似乎是javascript中应该简单和常见的东西。有人可以帮忙吗?
答案 0 :(得分:1)
您传递的是对象而不是函数!请改用:
db.transaction(function(tx) {
queryDB(tx,sqlCmd,cb);
}, errorCB, successCB);