@lohmag

Addeventlistener + Promise?

Подскажите почему промис не выполняется внутри события по клику, а если добавить тот же самый код не внутри обработчика, все ок.
var myMap;
ymaps.ready(function() {
  myMap = new ymaps.Map('myMap', {
       // центр и коэффициент масштабирования однозначно
       // определяют область картографирования
       center: [55.76, 37.64],
       zoom: 7,
       controls: []
     },
     {suppressMapOpenBlock: true});

  searchCityClick();
});

var searchCityClick = function() {
  document.querySelector('.search-btn').addEventListener('click', function() {
    var searchCity = document.querySelector('.search-city').value;
    var myGeocoder = ymaps.geocode(searchCity);
    myGeocoder.then(
       function (res) {
         var firstGeoObject = res.geoObjects.get(0);
         myMap.geoObjects.add(firstGeoObject);
         myMap.setCenter(firstGeoObject.geometry.getCoordinates());
         if (!geoObject) {
           alert('Not found');
         }
       });
  });
};
  • Вопрос задан
  • 795 просмотров
Пригласить эксперта
Ответы на вопрос 1
@napa3um
jsfiddle.net/d170v27L - всё прекрасно работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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