Javascript:如何更改匿名函数中的变量

时间:2015-11-26 06:29:01

标签: javascript angularjs

大家好我正在使用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
},

1 个答案:

答案 0 :(得分:0)

db.transact的回调函数在函数返回后运行。

如果您将console.log放在更改名称的行上方,并在退回时放在上面,那么您将看到此内容。

如果要将名称作为值返回,请考虑返回Promise,然后使用名称作为值解析promise。

或者,您的函数可以接受回调,在事务结束后将使用该值调用该回调。