我正在尝试使用 JQuery .get() 方法和 javascript for 循环来处理来自外部文件的一些数据。我已经阅读了几个小时关于 stackoverflow 回调的闭包和返回值,但我仍然很困惑为什么这不起作用。
对于内部回调函数,变量headers和countryData在范围内不是全局的吗?在回调函数中为它们分配了预期的值,但是一旦完成,我如何访问它们?并且可能是一个不使用 alert() 函数的例子?
function processData(inCSV){
    var headers;  
    var countryData = [];
    $.get(inCSV, function(data) {
        var lines = data.split('\r\n');
        for(var i=0;i<=lines.length-1;i++){
            var lineData = lines[i].split(',');
            if(i != 0){
                countryData[lineData[1]] = lineData.slice(2,lineData.length);
            } else {
                headers = lineData.slice(2,lineData.length);
            }
        }
        console.log('inside',headers);  // output 'inside ["1971", "1972", "1973" ...'
        console.log('inside',countryData['Brazil']);  // output 'inside ["56.4", "54.6", ..'
    });
    console.log('outside',headers);  // output 'outside undefined' ...!?
    console.log('inside',countryData['Brazil']);    // output 'outside undefined' ...!?
}