Estoy llamando a una función con db.transaction siguiente código:¿Pasa parámetros adicionales a la función de devolución de llamada de WebSQL?
db.transaction(createSheetDB, function(){alert("Sheet creation error!")}, function(){alert("Sheet created!")});
El createSheetDB función es una función de devolución de llamada que se llama implícitamente por db.transaction(), que también pasa un parámetro tx. He implementado la función createSheetDB (tx) como esto:
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)}
);}
Ahora el problema es los valores de SHEETNAME y la descripción sólo están disponibles en la función de llamada. ¿Cómo los paso a la función createSheetDB (tx)?
Hay * muchas preguntas */respuestas para el caso genérico (utilizar un cierre que se une a las variables de país, entonces llama a la función de devolución de llamada real o definir la devolución de llamada reales funcionar en el mismo alcance léxico o ..), así que con suerte este * caso refinado * será más aplicable ... pero no uso WebSQL. –
gracias @pst, actualmente estoy usando esta forma de resolver mi problema. –