Записать в переменную данные после fetch?

Ребята. помогите разобраться, пожалуйста.
Мне нужно сделать один раз аякс запрос и этими данными потом оперировать сколько душе угодно.
Как мне записать их в переменную? Пытался сделать как ниже, но консоль выводит undefined.

let result;
function loadJson() {
    fetch('service.json')
    .then(response => response.json())
    .then(answer => {
        result = answer.services;
    });
};

loadJson();

console.log(result);
  • Вопрос задан
  • 662 просмотра
Решения вопроса 2
@StockholmSyndrome
fetch('service.json')
    .then(response => response.json())
    .then(answer => {
        const result = answer.services;
        // оперируйте данными здесь сколько душе угодно
    });
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
В глобальном коде так не получится сделать, т.к. он выполняется паровозом и никого не ждёт.
Тот же async / await сахар применим только к функциям.
А fetch() надо ждать.

Поэтому «всё, что душе угодно» засуньте в функцию. И вызывайте её по готовности ответа.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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