Записать данные json из файла в переменную 2

let data;

function getFile (fileName) {

    let  request = new XMLHttpRequest();

    request.open('GET', fileName);

    request.onloadend = function() {

        data = JSON.parse(request.responseText);

    };

    request.send();
}

Promise.all([
    getFile('task/data.json'),
    getFile('task/names.json')
]).then(results => {
    console.log(data);
});

Не работает последний console.log(data); Хотя должен. Повтор вопроса Записать данные json из файла в переменную


Ответы (2 шт):

Автор решения: Alexander Lonberg

Чтоб не использовать Promise

// Эмуляция JSON - на это не стоит обращать внимание
//   это фиктивный http://
const url = URL.createObjectURL(new Blob(['{"any":132}'],{ type:'application/json' }))

async function getData() {
  let d = await fetch(url)
  // Типа мы получили JSON
  return await d.json()
}

void async function () {
  let data = await getData()
  console.log(data)
}()

→ Ссылка
Автор решения: kurts90
function getFile (fileName, ) {

    let  request = new XMLHttpRequest();

    request.open('GET', fileName, false);

    request.send(null);

    return  JSON.parse(request.responseText);
}
let data = getFile('task/data.json');
let names = getFile('task/names.json');


console.log(data);
console.log(names);
→ Ссылка