关于在闭包中使用AJAX保存数据时,不执行success回调,直接return的问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | var initObj = getData()();
function getData() {
var initData;
$.ajax({
type: "GET" ,
url: baseUrl + "Api/User/leftMenu" ,
dataType: "JSON" ,
async: false ,
success: function (data) {
initData = data.data;
}
});
return function () {
return {
get: function () {
return initData;
}
}
}
}
console.log(initObj.get())
|
get返回的数据为undefined;通过打断点发现有执行AJAX(设置了为同步),但是没有执行success的回调,所以initData没有被赋值;我想请求下来的数据保存起来由于权限判断,使用闭包是为了不让人很轻易的去修改他,请问是哪里出了问题,或者有什么更好的解决办法呢?
高洛峰3047 days ago593