diff --git a/apps/api/src/services/data-provider.service.ts b/apps/api/src/services/data-provider.service.ts index c7380dd5f..c5a319148 100644 --- a/apps/api/src/services/data-provider.service.ts +++ b/apps/api/src/services/data-provider.service.ts @@ -132,19 +132,26 @@ export class DataProviderService implements DataProviderInterface { [symbol: string]: { [date: string]: IDataProviderHistoricalResponse }; } = {}; + const promises: Promise<{ + data: { [date: string]: IDataProviderHistoricalResponse }; + symbol: string; + }>[] = []; for (const { dataSource, symbol } of aDataGatheringItems) { const dataProvider = this.getDataProvider(dataSource); if (dataProvider.hasHistoricalData(symbol)) { - const data = await dataProvider.getHistorical( - [symbol], - undefined, - from, - to + promises.push( + dataProvider + .getHistorical([symbol], undefined, from, to) + .then((data) => ({ data: data?.[symbol], symbol })) ); - result[symbol] = data?.[symbol]; } } + const allData = await Promise.all(promises); + for (const { data, symbol } of allData) { + result[symbol] = data; + } + return result; }