Показать сообщение отдельно
  #2 (permalink)  
Старый 09.03.2016, 17:07
Новичок на форуме
Отправить личное сообщение для Kondrv Посмотреть профиль Найти все сообщения от Kondrv
 
Регистрация: 09.03.2016
Сообщений: 5

Кажется я решил проблему. Я заменил цикл в котором использую промис на рекурсивную функцию.
//Для каждой комбинации выстраеваем маршрут на карте и пытаемся узнать длину маршрута	
	function rekurs (i) {
		if	(i >= 0) {
			pos = comb[i].indexOf('-');
			first = comb[i].substring(0, pos);
			second = comb[i].substring(pos + 1, j);        

			ymaps.route([adr[first], adr[second]]).then(
				function (route) {				
					myMap.geoObjects.add(route);					
					console.log(comb[i] + " " + route.getHumanLength());
					i--;
					rekurs(i);
				},
				function (error) {
					alert('Невозможно построить маршрут');
				}
			);			
		}
	}
Ответить с цитированием