在分配变量var obj = JSON.parse(fileReader.result)
之后,我试图返回一个包含JSON文件中文本的对象。这个想法是,一旦返回,我就可以遍历读取JSON文件的函数之外的对象。但是,什么也不会返回,甚至[Object object]也不会返回。
function readJSON(path) {
var xhr = new XMLHttpRequest();
xhr.open('GET',path,true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
var file = new File([this.response], 'temp');
var fileReader = new FileReader();
fileReader.addEventListener('load',function() {
var obj = JSON.parse(fileReader.result);
return obj;
});
fileReader.readAsText(file);
}
}
xhr.send();
}
/*Code to iterate through object items, after calling function.*/
var obj2 = readJSON('test.json');
for (x in obj2) {
document.getElementById('root').innerHTML += x + '<br>';
}