Подскажите почему промис не выполняется внутри события по клику, а если добавить тот же самый код не внутри обработчика, все ок.
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');
}
});
});
};