2016-02-19 6 views
2

Я думаю, что это довольно пустой вопрос, но не может найти прямого решения для него. Это мой случай:Передача параметров через функцию db.transaction

var db = window.openDatabase("database.db", "1.0", "Any_Name", 20000); 
db.transaction(queryDB, errorCB); 

//------------------------------------- 

function queryDB (tx) { 
    tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB); 
} 

Это работает без проблем, но когда я пытаюсь отправить дополнительные параметры через функцию queryDB я всегда получаю сообщение об ошибке, я попытался:

db.transaction(queryDB ("hello"), errorCB); 
db.transaction(queryDB (db, "hello"), errorCB); 
db.transaction(queryDB (tx, "hello"), errorCB); 

и

function queryDB (tx, param1) { 
     tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB); 
    } 

Я не уверен, откуда находится функция queryDB, получая первоначально значения tx.

Спасибо!

ответ

2
function queryDBWithParam(param1) { 
    return function(tx) { 
     //you can use parameter param1 
     tx.executeSql('SELECT * FROM my_table', [], querySuccess, errorCB); 
    } 
} 

db.transaction(queryDBWithParam("hello"), errorCB); 
+0

Спасибо! он работает, я бы никогда не догадался об этом сам. –

Смежные вопросы