Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用更多变量包装单变量回调函数_Javascript_Sqlite_Callback_Cordova_Wrapper - Fatal编程技术网

Javascript 用更多变量包装单变量回调函数

Javascript 用更多变量包装单变量回调函数,javascript,sqlite,callback,cordova,wrapper,Javascript,Sqlite,Callback,Cordova,Wrapper,好的,我已经在这方面工作了几天,我还没有找到任何对这个例子有帮助的例子。这似乎是一个非常常见的场景,所以可能我只是没有找到正确的位置,或者可能解决方案比我想要的更复杂 我有一个预构建的函数transaction,它接受回调函数queryDB db.transaction(queryDB, errorCB, successCB); 根据设计,queryDB将有一个“tx”或数据库事务对象来进行SQL调用 function queryDB(tx){ alert("transact");

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

我有一个预构建的函数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中似乎应该是简单而常见的。有人能帮忙吗

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

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

哇,谢谢你耍了个花招。而且。。。这比我想的要简单,太棒了!我肯定我以前试过这个……当时肯定有别的东西坏了,无论如何,多谢了。