diff --git a/web/drafting-board.js b/web/drafting-board.js index 43c0b9b..4a6e0d8 100644 --- a/web/drafting-board.js +++ b/web/drafting-board.js @@ -5,14 +5,18 @@ import { fetchTrip } from './api.js'; let element_board = document.querySelector("#drafting-board-content"); export function addJourneyToDraftingBoard(journey) { + let awaiting_promises = []; for (let leg of journey.legs.filter(item => !("walking" in item))) { window.dataStore.legs.remember(leg.tripId, leg.origin.id, leg.destination.id); - fetchTrip(leg.tripId).then(result => { + awaiting_promises.push(fetchTrip(leg.tripId).then(result => { window.dataStore.trips.remember(result.trip); - }); + })); } - drawDraftingBoard(); + Promise.all(awaiting_promises) + .then(results => { + drawDraftingBoard(); + }); } export function drawDraftingBoard() {