Задать вопрос
@kirillleogky

Как в обработчике изменить переменную в одном скоупе и использовать её результат в другом скоупе?

Есть код:
window.onclick = async (event) => {
  let forecast;
  let location;
  if (event.target === document.querySelector('.navigation_menu_block-image_btn')) {
    if (document.querySelector('.search_menu_block-input').value > 2) {
      setImg(forecast, location);
    } else {
      setImg();
    }
  }
  if (event.target === document.querySelector('.search_menu_block-submit')) {
    const areaSearch = document.querySelector('.search_menu_block-input').value;
    const currForecast = await getForecast(useGeocod(areaSearch));
    forecast = await currForecast;
    location = await useGeocod(areaSearch);
  }
};


Мне нужно вызвать функцию с аргументами forecast и location в том случае если if (document.querySelector('.search_menu_block-input').value > 2)
Добавление значения происходит в другом скоупе:
if (event.target === document.querySelector('.search_menu_block-submit')) {

    forecast = await currForecast;
    location = await useGeocod(areaSearch);
  }


Как мне сделать чтобы значения устанавливаемые в скоупе if (event.target === document.querySelector('.search_menu_block-submit')) учитывались при вызове этой функции? :
if (document.querySelector('.search_menu_block-input').value > 2) {
      setImg(forecast, location);
    }
  • Вопрос задан
  • 35 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Что?
Всё выполняется по порядку. Наверное вам нужно поменять местами верхние if блоки?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы