我已经导入了XLSX文件,但似乎无法在其功能之外使用结果:

var dataResult;


alasql('select * from xlsx("adat.xlsx",{headers:true, sheetid:"adat", range:"A1:B21"})',
         [],function(data) {
               dataResult= data;
         });

 console.log(dataResult);


console.log的结果为“未定义”

有人可以帮我解决这个问题吗?先感谢您。

最佳答案

您应该改用诺言。在获取结果之前,将调用console.log。

var dataResult;
var checkResults = function () {
    console.log(dataResult);
}
alasql
.promise('select * from xlsx("adat.xlsx",{headers:true, sheetid:"adat", range:"A1:B21"}))
    .then(function (res) {
        dataResult = res;
        checkResults();
    }).catch(function (err) {
        console.log('error:', err);
    });

09-10 16:54