向Phonegap数据库事务回调函数添加参数

时间:2013-07-31 11:19:01

标签: javascript cordova

看看这个Phonegap示例实现:

//Create database if not exist
var transaction = function (tx) {

tx.executeSql(query);


};

//error callback if any errors occured during a transaction
var errorCB = function (the_error) {

   console.log(the_error);
}

//success callback when database transaction successful
var successCB = function () {

   console.log("transaction success");
}


//initialise
function init() {

db = window.openDatabase("db", "1.0", "Database", 2000000);
db.transaction(transaction, errorCB, successCB);

};

如何在回调函数中添加额外的参数?

我希望每个事务都有相同的回调并传递事务ID /名称,以便识别它,而不必每次都写一个不同的回调

我见过的所有例子都是针对单笔交易。传递给errorCB的error对象不包含事务标识符或类似对象。 如果我有多个db.transaction调用(每个调用一个或多个tx.executeSql),我是否必须一直编写不同的回调?

我正在寻找类似的东西: db.transaction(transaction, errorCB(tx_name), successCB(tx_name));

由于

1 个答案:

答案 0 :(得分:3)

db.transaction(transaction, 
    function(tx){errorCB(tx, tx_name);}, 
    function(tx){successCB(tx, tx_name);}
);

function errorCB(tx, tx_name) {
    ...
    ...
    ...
}

function successCB(tx, tx_name) {
    ...
    ...
    ...
}