Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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_Asynchronous - Fatal编程技术网

Javascript 如何在不直接调用函数的情况下将参数传递给函数

Javascript 如何在不直接调用函数的情况下将参数传递给函数,javascript,sqlite,asynchronous,Javascript,Sqlite,Asynchronous,我正在为一个应用程序开发一个数据库管理器。在某一时刻,我想保存一些数据,如下所示: //call the saveBillEvent DatabaseManager.saveBillEvent(model, callbackfunc); //accepts billeventmodel object DatabaseManager.prototype.saveBillEvent = function(billEventModel, callback){ db.transaction(

我正在为一个应用程序开发一个数据库管理器。在某一时刻,我想保存一些数据,如下所示:

//call the saveBillEvent
DatabaseManager.saveBillEvent(model, callbackfunc);

//accepts billeventmodel object
DatabaseManager.prototype.saveBillEvent = function(billEventModel, callback){
     db.transaction(
        RekeningDelen.DatabaseManager.databaseInstance,
        RekeningDelen.DatabaseManager.saveBillEventSQL,
        function(error) {
            console.log(error);
            console.log('transaction failed billeventspersons table creation ');
        },
        function(transactionId, result) {
            console.log("transcation success billeventspersons, set firstappboot to false");
            store.setItem("firstAppBoot", "false");
        }
    );
}
saveBillEvent包含一个事务,该事务在给定时刻调用
saveBillEventSQL

DatabaseManager.prototype.saveBillEventSQL = function(billEventModel, callback) {
  //here i need the billEventModel to create the SQL
    db.executeSql(
        transactionId,
        getAllBillEventsSQL,
        null,
        function(transactiondId, results) {
           //here i want to call the callback
            console.log('billevent saved ' + results);

        },
        function(response) {
            alert('fail1');
            console.log("SELECT billEvent query failed " +  response);
        }
    );
}
此函数包含最终回调函数,该函数应为某个查询调用传递的回调函数,并且还需要
bileventmodel
来创建查询。因此,billEventModel和回调应该传递给这个函数,但这是不可能的,因为事务在特定时刻触发它

所以我的问题是如何处理这个A(带参数)->B(有参数,但不能通过)->C(需要参数)问题


我希望你们都能理解我的问题,如果不加评论的话。

我不太明白这个问题。但是,您是否尝试将数据存储在全局变量中?(因此不需要传递参数)。问题是无法控制saveBillEventSQL。如果我最终需要回调(和模型),我无法传递回调。我可以将所需的回调存储在窗口变量中,但在我看来,这并不是一个好的解决方案。如果无法传递回调函数,唯一的其他方法是将其存储在某个位置,然后在需要的其他位置调用它。如果不是全局的(即窗口对象),创建一个单独的名称空间,并在其中添加回调函数和参数作为属性。谢谢你的评论,我已经猜到了。你能在“单独的名称空间”上展开吗?您的意思是创建一个新的“类”并将其用作某种带有临时数据的传输对象吗?请参阅本文中的第一个答案-