Привет, ребята, я работаю над новым проектом с js и у меня проблема, поэтому я хотел бы знать, как изменить переменную в анонимных функциях
myFunct : function(){
var name = "Alexander ";
if(true)
{
db.transaction(function(t){
name = "Stephane"; //How do i change my variable [name] at this level?
t.executeSql('SELECT * FROM users',[]);
});
}
return name; //this function returns me Alexander and not Stephane
},
Функция обратного вызова для db.transact
запускается после db.transact
функции.
Если вы поместите console.log
над строкой, в которой вы измените имя, а одно выше, когда вы вернетесь, вы увидите это.
Если вы хотите вернуть имя в качестве значения, попробуйте вместо этого вернуть обещание, а затем разрешите обещание с именем в качестве значения.
В качестве альтернативы, ваша функция может принять обратный вызов, который будет вызываться со значением после завершения транзакции.