Как передать аргументы функции транзакции базы данных PhoneGap

У меня есть рабочая транзакция базы данных PhoneGap, где я могу запустить sql-запрос и обработать результаты. Однако, чтобы сделать его многоразовым, мне нужно отказаться от аргументов функции запроса. Там должен быть лучший способ, чем объявление глобальных переменных и доступ к ним / сброс в функции запроса. Оцените любую помощь в преобразовании этого:

//update images function function updateGalleryCovers() { var db = window.openDatabase("test db", "1.0", "Cordova DB", 200000); db.transaction(queryDB_u_g, errorCB); } //Query the database function queryDB_u_g(tx) { var query = 'SELECT cover_img, objectId FROM USER_GALLERY WHERE userId="'+getUserId()+'"'; tx.executeSql(query, [], querySuccess_u_g, errorCB); } //Query success callback function querySuccess_u_g(tx, results) { var len = results.rows.length; for (var i=0; i<len; i++){ // process results } } 

К чему-то вроде этого:

  //update images function function updateGalleryCovers(userid) { var db = window.openDatabase("test db", "1.0", "Cordova DB", 200000); db.transaction(queryDB_u_g, userid, errorCB); } //Query the database function queryDB_u_g(tx, userid) { var query = 'SELECT cover_img, objectId FROM USER_GALLERY WHERE userId="'+userid+'"'; tx.executeSql(query, [], querySuccess_u_g, errorCB); } //Query success callback function querySuccess_u_g(tx, results) { var len = results.rows.length; for (var i=0; i<len; i++){ // process results } } 

Благодаря!

Функции транзакций предлагаются с помощью sqlite, а не телефонной разницы. Его правда, что вы не можете передавать дополнительные переменные функциям из-за того, что метод подписи sqlite принимает.

Но вот работа для этого же:

 db_conn.transaction( function(tx){ your_function(tx, parameter1, parameter2) }, ErrorCallBack ); 

Здесь вы передаете фиктивную функцию для обратного вызова успеха транзакции и берете объект транзакции вместе с ним.

надеюсь, это поможет