На входе есть точка myPointRoot и массив точек myPoints
На выходе нужен массив myLenghts с расстояниями до них
route - асинхронная функция. В случае с одним, заранее известным маршрутом можно написать просто
function (route) {
var returnVal = route.getLength();
// обрабатываем расстояние
},
function (error) {
alert("Возникла ошибка: " + error.message);
}
);
Если точек несколько:
myPoints = [
[55.4, 33.0],
[45.2, 53.7],
[85.3, 23.7],
[55.9, 73.7]
];
var promiseArray = [];
for(var i = 0; i<myPoints.length; i++) {
var coor = [myRootPoint, myPoints[i]];
promiseArray.push(ymaps.route(myCoor)); // добавляем рассчет маршрута в массив обещаний
}
/* И вот тут в конце нужна какая-то функция, которая сработает сразу после того, как все promise перейдут в состояние "onFulfilled" */
Если используются JQuery-defered.promise объекты, можно писать так
$.when.apply($, promiseArray).then(function(){
//все элементы promiseArray перешли в состояние resolved!
});
Есть ли аналог для wow.promise?