我具有以下功能:
function readTextFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == 200) {
callback(JSON.parse(rawFile.responseText));
}
}
rawFile.send(null);
}
我也有一个名为data的字符串数组,我想用上面函数中从请求中获得的数据来填充。目前,我正在这样做:
function populate(data: String[]):String[]{
readTextFile("http://localhost:52918/api/Config/AASHARMA", function(text){
for(var i =0; i<text.Items.length; i++ ){
data.push(text.Items[i]);
}
});
return data;
}
在for循环中,当我尝试:console.log(data [i])时,它将输出适当的字符串。但是,当我在运行函数后尝试记录返回的数组时,它完全为空。我应该如何将来自这个HTTP请求的数据传递到数组中?