我打電話的功能db.transaction與下面的代碼:將額外參數傳遞給WebSQL回調函數?
db.transaction(createSheetDB, function(){alert("Sheet creation error!")}, function(){alert("Sheet created!")});
功能createSheetDB是一個回調函數,其隱含db.transaction稱爲(),這也傳遞給它的參數TX。我已經實現的功能createSheetDB(TX)是這樣的:
function createSheetDB(tx) {
var nextId = getNextId();
tx.executeSql("INSERT INTO SHEET(id, name, desc) VALUES("+nextId+",'"+sheetName+"','"+desc+"')", [],
function(){alert("Sheet row inserted!")},
function(tx, err){alert("Sheet row insertion Error: "+err.message+" "+err.code)}
);}
現在的問題是SHEETNAME和降序的值僅在調用函數中是可用的。我如何將它們傳遞到函數createSheetDB(tx)?
有*很多*問題/供一般情況下答案(使用綁定到局部變量封閉然後調用真正的回調函數或定義真正的回調函數在相同的詞法範圍或..),所以希望這個*精煉案例*會更適用..但我不使用WebSQL。 – 2012-09-16 01:44:43
謝謝@pst,我目前使用這種方式來解決我的問題。 –