Написал код для открытия текстового файла:
var log_txt = new XMLHttpRequest();
var online_txt;
log_txt.open("GET","log.txt");
log_txt.send();
//log_text.onload = log_txt_func(online_txt);
var online_txt = log_txt_func(online_txt);
console.log(log_txt_func(online_txt));
//console.log(date_txt);
function log_txt_func(online_txt) {
log_txt_arr = log_txt.responseText.split("\r\n");
log_txt_arr.forEach(date_txt_arr);
log_txt_arr.forEach(online_txt_arr);
var date_txt = date_txt.split(",");
var online_txt = online_txt.split(",");
online_txt.splice(0, 1);
date_txt.splice(0, 1);
function date_txt_arr(value){
date_txt = date_txt + value.split(" ==> ")[0] + ',';
}
function online_txt_arr(value){
online_txt = online_txt + value.split(" ==> ")[2] + ',';
}
//console.log(online_txt);
//console.log(date_txt);
return online_txt;
//return date_txt;
}
document.addEventListener("DOMContentLoaded", function(){
let online = new liteChart("chart");
online.setLabels(date_txt);
online.addLegend({"name": "Online", "stroke": "#3759d7", "fill": "#fff", "values": online_txt});
let div = document.getElementById("online");
online.inject(div);
online.draw();
});
Подскажите пожалуйста, как можно вывести переменные online_txt и date_txt за пределы функции? Внутри функции log_txt_func() всё работает на ура, а за пределами не получается? После вывода данных мне нужно их передать в следующую функцию, для составления графика
Я попытался отрефакторить хоть как-то ваш код, он честно говоря был ужасен. Не уверен на счет рабочести, но можете протестить.
const dateTxtArr = [];
const onlineTxtArr = [];
async function logTxt(){
let data = await fetch('log.txt');
const logTxtArr = data.split("\r\n");
for (const value of logTxtArr){
const arr = value.split(' ==> ');
dateTxtArr.push(arr[0]);
onlineTxtArr.push(arr[2]);
}
}
document.addEventListener("DOMContentLoaded", async function(){
await logTxt()
let online = new liteChart("chart");
online.setLabels(dateTxtArr);
online.addLegend({"name": "Online", "stroke": "#3759d7", "fill": "#fff", "values": onlineTxtArr});
let div = document.getElementById("online");
online.inject(div);
online.draw();
});
Объявите эти переменные глобально и передавайте в функцию в качестве аргументов.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как реализовать подобную таблицу с использованием React MATERIAL-UI?
Уже много времени ломаю голову над событием onclickПодскажите, почему то что стоит в событии onclick (к примеру, просто console