我有两个效果,其中两个都是在不同的用户操作中调用的。它们有相同的返回类型。我想将一个效果中的数据合并到另一个效果数据中。(然后删除其中的重复记录)
loadQueues$ = this.actions$.ofType(qeueActions.LOAD_QUEUE_DETAILS).pipe(
map((action: qeueActions.LoadQueues) => action.payload),
switchMap( (criteria) => {
return this.api.listMessagesByCriteria(criteria).pipe(
map( data => new qeueActions.LoadQueuesSuccess(data)),
catchError(error => of(new qeueActions.LoadQueuesFail(error)))
);
})// switchMap
); // pipe
第二个效果是
@Effect()
loadQueuesByDuration$ =
this.actions$.ofType(qeueActions.LOAD_QUEUE_DETAILS_BY_DURATION).pipe(
map((action: qeueActions.LoadQueuesbyDuration) => action.payload),
switchMap( (duration) => {
return this.api.listMessageHeadersByDuration(duration).pipe(
map( data => new qeueActions.LoadQueuesSuccess(data)),
catchError(error => of(new qeueActions.LoadQueuesFail(error)))
);
})// switchMap
); // pipe
两个成功调用都是相同的(所以这就像将当前数据合并到以前的数据中一样),我们如何实现上述两个效果数据的合并?