@wug1
Новичок

Как обработать асинхронный цикл?

Добрый день. Задача: рассчитать расстояние от одной точки до двух других, затем выполнить диспатч в стэйт. Проблема: расстояния рассчитываются, но т.к. обработка массива происходит асинхронно диспачится прошлый стэйт.
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
        })
    }
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы