Всем привет!
Я начинаю изучать yandex.api 2.х для интеграции с 1С. Очень надеюсь
здесь найти ответ. В документации к api есть метод
geocode() который отвечает за прямое и обратное геокодирование.
Из 1С я хочу обращаться к методу geocode и в случае неудачного геокодирования заполнять таблицу адресами, которые не удалось отобразить на карте. Запрос geocode асинхронный.
Функционал я пытаюсь реализовать с помощью функции findPlacemarkOnMap(). Код ниже:
function findPlacemarkOnMap(adress, returnResult){
var myCollection = new ymaps.GeoObjectCollection();
ymaps.geocode(adress, {results: 1}).then(
function (res){
myCollection.add(res.geoObjects);
myMap.geoObjects.add(myCollection);
if (myCollection.getLength() == 0) {returnResult = false} else {returnResult = true};
},
// Ошибка сервера или "плохие" входные данные
// Не срабатывает в случае неотображения объектов на карте
function (err){
alert(err.message);
});
return returnResult;
}
Проблема в том, что return returnResult срабатывает раньше, чем выполняется код в конструкции .then()
Может я не в том месте присваивание прописываю или возврат?