ctucx.git: trainsearch

web based trip-planner, fork of https://cyberchaos.dev/yuka/trainsearch

commit 9d82d5418a1cb9d2dda6ee0281165154bdb09b5f
parent 9bf0a11c7b80f07a5e53e4f1fb787a02c8fd4d41
Author: Yureka <yuka@yuka.dev>
Date: Wed, 18 Aug 2021 12:01:42 +0200

server: parallelize moreJourneys
1 file changed, 7 insertions(+), 3 deletions(-)
M
server/index.js
|
10
+++++++---
diff --git a/server/index.js b/server/index.js
@@ -55,12 +55,16 @@ const getJourneys = async (slug, opt) => {
 const createMoreJourneys = mode => async (slug, opt) => {
 	const saved = JSON.parse(await db.get(slug));
 	opt[mode+'Than'] = saved[mode+'Ref'];
+
+	const [newData, ...journeys] = await Promise.all(
+		[ hafas.journeys(saved.params.from, saved.params.to, opt) ]
+			.concat(saved.journeys.map(x => hafas.refreshJourney(x, opt)))
+	);
+
 	const res = {
 		...saved,
-		...await hafas.journeys(saved.params.from, saved.params.to, opt)
+		...newData
 	};
-
-	let journeys = await Promise.all(saved.journeys.map(x => hafas.refreshJourney(x, opt)));
 	if (mode === 'earlier') {
 		journeys = res.journeys.concat(journeys);
 		res.indexOffset += res.journeys.length;