我正在一个带有NGRX存储和效果的Angular项目。使用 rxjs reducer运算符时出现问题,可观察的链以某种方式停止了。控制台上未显示任何错误。
@Injectable()
export class MyEffects {
@Effect()
public grouping$: Observable<Action> = this.actions$.pipe(
ofType(FIRST_ACTION),
map((action) => action.payload),
flatMap(i => i),
groupBy((i) => i.code),
flatMap(group$ => {
return group$.pipe(
reduce((acc, curr) => {
acc.push(curr);
console.log('%c curr', 'background-color:green;color:#fff', curr);
console.log('%c acc', 'background-color:green;color:#fff', acc);
return acc;
}, []),
tap(grpArr => console.log('group array', grpArr))
);
}),
switchMap((data) => {
return [new AnotherAction()];
})
);
}
我的担忧就在眼前
点击(grpArr => console.log('group array',grpArr))
Reducer操作员将正确的输出记录在控制台中。但是当我点击结果时,它们没有显示。当然,由于链已停止,最后一个switchMap运算符不会触发。我在这里想念什么吗?