2016-07-10 5 views
0

ich eine XLSX-Datei importiert haben, aber ich kann nicht das Ergebnis außerhalb seiner Funktion zu nutzen scheinen:Alasql Ergebnis in anderen Teilen des Programms verwendet werden

var dataResult; 


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

console.log(dataResult); 

Das Ergebnis der console.log ist „undefined“

Könnte jemand mir helfen, dieses Problem zu lösen? Vielen Dank im Voraus.

+0

Ich glaube, Sie sollten '' this.dataResult innerhalb der Funktion zu verwenden versuchen –

+0

Diese Lösung nicht funktioniert, aber thnk Sie versuchen! – elwindly

Antwort

1

Sie sollten stattdessen ein Versprechen verwenden. Die Datei console.log wird aufgerufen, bevor das Ergebnis abgerufen wurde.

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); 
    }); 
Verwandte Themen