This question already has answers here:
How do I return the response from an asynchronous call?
                            
                                (39个答案)
                            
                    
                3年前关闭。
        

    

JavaScript中数组的范围是什么?

我该如何解决这种情况?

var parseXlsx = require('excel');
var arrayURLToSearch = [];
parseXlsx('foo.xlsx', function(err, data) {
  if(err) throw err;
    for(var i=1; i<2; i++){
        arrayURLToSearch[i] = data[i][0];
    }
});
console.log(arrayURLToSearch[0]); -> undefined


如何在功能外打印arrayURLToSearch

最佳答案

你不能。回调发生在将来无法预测的某个时刻。尝试以下方法:

var arrayURLToSearch = [];
parseXlsx('foo.xlsx', function(err, data) {
  if(err) throw err;
    for(var i=1; i<2; i++){
        arrayURLToSearch[i] = data[i][0];
    }

console.log(arrayURLToSearch[0]);
});

10-07 17:59