Доброго времени суток!
Уже который день бьюсь над задачей последовательного вызова асинхронных функций.
Дело в том, что мне нужно сделать некоторое кол-во запросов к серверу Яндекс, но возвращать результаты строго в определенном порядке, вот вполне рабочий код, вызовы последователны, но заполненение массива нет.
Понимаю, что выполненение данных запросов асинхронно, и что когда сервер ответит, тогда и впишется в массив.
Вопрос, как заполнить массив согласно вызовам в цикле, или хотя бы получить строку моего запроса, т.е. чтобы я знал, что данные координаты относятся к данному адресу?
Заранее спасибо!
for(var i = 0; i < obj.length; i++) {
ymaps.geocode(obj[i].address).then(
function (res) {
var coord = res.geoObjects.get(0).geometry.getCoordinates();
tmpArr.push(coord);
if(tmpArr.length == obj.length) {
logisticsMap.writeMapData(JSON.stringify(tmpArr));
}
}
);
};