首页 > 解决方案 > Javascript:在本地更改全局变量

问题描述

简单的问题。只是一个明确的外观:

 var token = "12345"

function einloggen(){
    var test = particle.login({username: userName, password: passWord});
    test.then(
    function (data) {
            token = data.body.access_token;
            console.log('tokenoutprint1:', token);
            },
    function (err) {
            console.log('LoggingIn Failed', err);
            }
);
console.log('tokenoutprint2:', token);

}
einloggen();

之后我想在不同的函数中重用“新”令牌......

callFunctionAVC(token);

最后第三行将打印 me 12345。但我想打印出定义的“新”令牌。就像在“普通”java中一样

我不知道为什么,因为第一个 console.log 向我显示了正确的令牌。

那么我如何将“令牌”转换为全局变量。那是我的“真正”问题。请只发送完整的代码,否则我不会得到它。

对不起,我不是专业人士,我只是在学校学习。

问候。

标签: javascriptvariablesglobal

解决方案


einloggen函数没有(明显)在 之前被调用console.log,这意味着您设置了它token = "12345"console.log()并且一段时间后您可能会或可能不会调用该einloggen函数。

我想你想做的是:

function einloggen() {
    //your code
}
einloggen(); // Execute the method
console.log(token);

这有可能无法按预期工作,因为您在einloggen函数中使用了 Promises。

您也可以尝试console.log(token)从浏览器的开发者控制台执行。


推荐阅读