Почему не присваивается значение переменной?

var bal = 0;
      fetch('url', {
        method: 'POST',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          userid: userid
        })
    }).then(res => res.json()
).then(data => bal = data.bal);
console.log(bal);

Выводит 0 т.е значение не присваивается( почему? в data.bal данные есть мне нужно использовать эту переменную в react
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
coderisimo
@coderisimo Куратор тега JavaScript
Уважайте тех ,кто вам помогает , ёклмн! )
Никогда такого не было и вот опять....
var bal = 0;
      fetch('url', {
        method: 'POST',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          userid: userid
        })
    }).then(res => res.json()
).then( (data) => {
bal = data.bal;
// здесь bal уже с новым значением,
console.log(bal);
});

// здесь bal  все еще со старым значением.
console.log(bal);
Ответ написан
@McBernar
Феч асинхронный. Если вы хотите присвоить внешней переменной результат запроса — гуглите async/await.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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