我正在使用NGRX,我希望从商店中获取一些值,将它们合并为一个并推送到BE。
private enrichWith(event: TwoDimensionalCategory): Observable<any> {
if (event.step || event.subCategory) {
return Observable.merge(
this.getCampaignId().first(),
this.getCompanyIds().first(),
this.getCampaignTitle().first(),
this.getSectionCode().first(),
);
}
return Observable.of({});
}
我合并了商店的所有流
private getCampaignId() {
return this.store.select(getCampaignId).map(campaignId => {
return { campaignId: campaignId };
});
}
private getCampaignTitle() {
return this.store.select(getCampaignTitle).map(campaignTitle => {
return { campaignTitle: campaignTitle };
});
}
private getSectionCode() {
return this.store.select(getSectionCode).map(sectionCode => {
return { sectionCode: sectionCode };
});
}
private getCompanyIds() {
return this.store.select(getCompanyIds).map(companyIds => {
return { companyIds: companyIds };
});
}
然后我想在返回的值上执行合并:
return this.enrichWith(event)
//做一些事情将所有项目合并到一个对象中。
我试过
this.enrichWith(event).mergeAll().flatMap(enrichedWithData => ...)
但是收到错误:
TypeError:您提供了一个无效的对象,其中包含一个流。