Кажется я решил проблему. Я заменил цикл в котором использую промис на рекурсивную функцию.
//Для каждой комбинации выстраеваем маршрут на карте и пытаемся узнать длину маршрута
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('Невозможно построить маршрут');
}
);
}
}