Здравствуйте. Есть некий код, который парсит документ xml в объект. Все работает хорошо, но есть необходимость во вложенной функции присвоить значение некой глобальной переменной temp. Но присвоения почему то не происходит. С чем это могло бы быть связано?
const input = document.querySelector("#in");
var temp;
if(input.addEventListener) {
input.addEventListener('change', filePicked, false);
}
function filePicked(oEvent) {
var oFile = oEvent.target.files[0];
var sFilename = oFile.name;
var reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLS.CFB.read(data, {type: 'binary'});
var wb = XLS.parse_xlscfb(cfb);
var ojs;
wb.SheetNames.forEach(function(sheetName) {
var sv = XLS.utils.make_csv(wb.Sheets[sheetName]);
ojs = XLS.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);
//console.log(ojs);
ojs.forEach(function (el){
console.log(el.name)
})
});
for(let key in ojs) {
var keys = Object.keys(ojs[key]);
if (keys.length <= 2) {
ojs[last_full_row].PRODUCTS.push({ "name": ojs[key].PRODUCT, "netto": ojs[key].NETTO });
delete ojs[key];
}else {
var last_full_row = key;
ojs[key].PRODUCTS = Array({ "name": ojs[key].PRODUCT, "netto": ojs[key].NETTO });
delete ojs[key].PRODUCT
delete ojs[key].NETTO
}
}
temp = "test value";
};
reader.readAsBinaryString(oFile);
}
Если быть точным, то хочу присвоить значение переменной ojs в глобальную переменную. Но для теста сделал temp - c ней тоже не работает