Добрый день. Задача: рассчитать расстояние от одной точки до двух других, затем выполнить диспатч в стэйт. Проблема: расстояния рассчитываются, но т.к. обработка массива происходит асинхронно диспачится прошлый стэйт.
const createRoute = () => {
currentCrews.map((crew) => {
let multiRoute = new props.maps.multiRouter.MultiRoute({referencePoints:[props.currentUserCoords,[crew.lat,crew.lon]], params: {routingMode:'pedestrian'}})
multiRoute.model.events.add('requestsuccess', () => {
let activeRoute = multiRoute.getActiveRoute().getPaths()
activeRoute.each((path, i) => {
crew.distanceText = path.properties.get("distance").text
crew.distanceValue = path.properties.get("distance").value
})
})
return crew
})
}