fetch('./products.json')
.then((res) => res.json())
.then((data) => {
console.log(data)
});
Данная конструкция дает вот такой результат:
Прекрасно, получили массив объектов, как и было задумано. Но! Как присвоить этот массив переменной?
Делал так:
json = fetch(url).then((res) => {return res.json()})
Здесь видно, что есть наш массив, но как его достать? Я не понимаю синтаксис [[PromiseValue]] и, если написать это, как литерал, будет ошибка (.[[PromiseValue]])
Пробовал так:
let json;
fetch(url)
.then((res) => res.json())
.then((data) => {
json = data;
});
json будет undefined
Подскажите, как результат fetch присвоить переменной. Спасибо!


json = data;- это у вас работает, вот только процесс асинхронный и вы присваиваете значение несколько позже, нежели ожидаете. – MedvedevDev Mar 23 '18 at 08:16