2016-07-10 3 views
0

프로그램의 다른 부분에 사용되는하지만 난 그 기능 이외의 결과를 사용할 수없는 것 다음을 console.log의 결과는 Alasql 결과는 내가 XLSX 파일을 가져온

var dataResult; 


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

console.log(dataResult); 

입니다

"정의되지 않은"

누군가이 문제를 해결할 수 있도록 도와 줄 수 있습니까? 미리 감사드립니다.

+0

함수 내에서 this.dataResult를 사용해야한다고 생각합니다. –

+0

그 해결책은 효과가 없지만 노력하고 있습니다! – elwindly

답변

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); 
    }); 
관련 문제