2013-07-31 44 views
1

望着這PhoneGap的示例實現:添加參數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));

感謝

回答

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) { 
    ... 
    ... 
    ... 
} 
+0

@Thanks,就像一個魅力 – Mirko