2013-07-01 60 views
0

好吧我一直在为此工作了几天,并没有找到任何帮助实例的例子。这看起来像是一个很常见的场景,所以也许我只是没有找到正确的位置,或者解决方案比我想要的更复杂。用更多变量包装单个变量回调函数javascript

我有一个预构建函数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中简单而常见的东西。有人可以帮忙吗?

回答

1

您传递的是对象而不是函数!改为使用此代码:

db.transaction(function(tx) { 
    queryDB(tx,sqlCmd,cb); 
}, errorCB, successCB); 
+0

哇,谢谢你的伎俩。而且......比我想象的要简单,太棒了! 我确信我以前试过这个,...当时别的东西肯定已经被打破了,无论如何,感谢十亿。 – HPP