【发布时间】:2023-03-28 17:48:01
【问题描述】:
我正在从本地 JSON 文件中获取一些设置。函数内部的console.log 正确记录了对象,但是函数返回undefined 之后的第二个,所以变量没有被更新?
另外,在testNameSpace 内,this 返回window,为什么?
namespace testNameSpace {
let settings: any;
function dtJSONLoad() {
let xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', './js/file.json', true);
xobj.onreadystatechange = function () {
if (xobj.readyState == 4) {
let response = xobj.responseText;
settings = JSON.parse(response);
console.log(settings);
}
};
xobj.send(null);
}
dtJSONLoad();
console.log(settings);
}
控制台日志“未定义”
控制台日志返回对象'
【问题讨论】:
-
看起来你是对的,它与异步有关。设置为 false 它会正确更新。
标签: javascript json typescript