Alasql结果将用于程序的其他部分

时间:2016-07-10 11:30:00

标签: javascript arrays alasql

我导入了一个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的结果是“未定义”

有人可以帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您应该使用承诺。在获得结果之前调用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);
    });