diff --git a/packages/data-source/src/DataSourceManager.ts b/packages/data-source/src/DataSourceManager.ts index 32fbe103..5e28fd3f 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) {