Да, есть лучший способ.Вы можете реализовать OnRunEffects
на классах эффектов.Например:
@Injectable()
export class OrderStoreEffects implements OnRunEffects {
// Resolves to either QueryCompleted or QueryFailed
@Effect()
queryOrdersFromProduct$: Observable<Action> = this.actions$.pipe(...);
// Resolves to either QueryCompleted or QueryFailed
@Effect()
queryOrdersFromWorkCenter$: Observable<Action> = this.actions$.pipe(...);
constructor(...) {}
ngrxOnRunEffects(resolvedEffects$: Observable<EffectNotification>) {
return resolvedEffects$.pipe(tap(effect => console.log({ effect })));
}
}
Наблюдаемая resolvedEffects$
каждый раз испускает , что эффект в классе OrderStoreEffects
выполняется и разрешается.
Вид излучаемых значенийкак это:
Что дает вам дополнительные возможности применения фильтров или другой логики.
Для получения дополнительной информации о OnRunEffects
интерфейс, проверьте документы