svisch
@svisch

Как присвоить в функции значение глобальной переменной?

Здравствуйте. Есть некий код, который парсит документ 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 ней тоже не работает
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы