From 934398911d7f9dc4ac9fc9c2b56ef4d158d06611 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Tue, 26 Mar 2024 17:02:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(data-srouce):=20manager=E6=96=B0=E5=A2=9Ei?= =?UTF-8?q?nit=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/data-source/src/DataSourceManager.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/data-source/src/DataSourceManager.ts b/packages/data-source/src/DataSourceManager.ts index 32fbe1038..5e28fd3f4 100644 --- a/packages/data-source/src/DataSourceManager.ts +++ b/packages/data-source/src/DataSourceManager.ts @@ -71,7 +71,19 @@ class DataSourceManager extends EventEmitter { this.addDataSource(config); }); - Promise.all(Array.from(this.dataSourceMap).map(async ([, ds]) => this.init(ds))); + const dataSourceList = Array.from(this.dataSourceMap); + Promise.allSettled>(dataSourceList.map(([, ds]) => this.init(ds))).then((values) => { + const data: DataSourceManagerData = {}; + + values.forEach((value, index) => { + if (value.status === 'fulfilled') { + const dsId = dataSourceList[index][0]; + data[dsId] = this.data[dsId]; + } + }); + + this.emit('init', data); + }); } public async init(ds: DataSource) {