【发布时间】:2015-11-01 13:20:59
【问题描述】:
我有以下代码:
Main.User = (function(){
var currentUser = ''
var get_current_user = function get_current_user(){
Main.Mod.do_ajax('home/get_user_pnp_id','GET',function(data){
currentUser = data.username;
},null);
console.log(currentUser); //Doesn't work. It logs empty string.
return currentUser;
}
return {
get_current_user : get_current_user,
}
})();
Main.Mod.do_ajax() 的第三个参数是来自我的 ajax 调用的回调成功函数。但是我不能在该回调函数中设置currentUser。
似乎是什么问题?
【问题讨论】:
-
我假设
Main.Mod.do_ajax()进行了异步调用,因此当您将变量写入控制台时,回调函数尚未执行。 -
谢谢,伙计们。我首先认为它与范围有关,但似乎 javascript 的异步特性是问题所在。我所做的只是每秒钟跟踪一次以了解结果是否返回。感谢您的回答。
标签: javascript scope