Как поместить выборочные данные в переменную
У меня есть код, который приводит undefined
всякий раз, когда я пытаюсь получить результаты в переменную
var data;
fetch('./js/samplejson.json')
.then((res) => res.json())
.then(output => {
var data = output;
}
)
console.log(data);
Как я могу получить результат
[1, 2, 3]
внутренняя переменная данных
2 ответа
fetch()
вызов асинхронный. Он возвращается до того, как данные возвращаются с сервера. Когда вы пытаетесь получить доступ к данным после вызова, вы пытаетесь получить доступ к ним до того, как сервер ответит.
Вам нужно обрабатывать эти данные внутри обратного вызова или в функции, вызываемой из этого обратного вызова. Другими словами, где вы делаете var data = output;
не делай этого. Это не поможет удалить var
поэтому код устанавливает глобальный data
переменная, как предлагается в комментарии. Проблема не в объеме, а в сроках. Обработать output
данные прямо внутри обратного вызова, или вызвать другую функцию и передать output
к этому.
Вы можете получить данные из журнала здесь.
fetch('./js/samplejson.json')
.then((res) => res.json())
.then(output => {
var data = output;
console.log(data);
}
)