0

好的,我已经为此工作了几天,但我没有找到任何对此实例有帮助的示例。这似乎是一个非常常见的场景,所以也许我只是没有找到正确的位置,或者解决方案可能比我想要的更复杂。

我有一个预先构建的函数事务,它采用回调函数 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 中应该是简单而常见的。有人可以帮忙吗?

4

1 回答 1

1

你传递的是一个对象而不是一个函数!改用这个:

db.transaction(function(tx) {
    queryDB(tx,sqlCmd,cb);
}, errorCB, successCB);
于 2013-07-01T18:03:55.230 回答