NGXS-处理actions $流中的动作生命周期

时间:2018-11-21 21:36:07

标签: angular ngxs

在我的一种状态下,我无法使用@Action(...)批注,因此我想改为使用actions $流,就像这样

@State(...)
export class MyState implements NgxsOnInit {
    constructor(private actions$: Actions) {}

    ngxsOnInit(ctx: StateContext<any>): void {
        this.actions$.pipe(ofActionSuccessful(MyAsyncAction)).subscribe(() => {
            console.log('SUCCESS');
        });

        this.actions$
            .pipe(
                ofActionDispatched(MyAsyncAction),
                tap(() => console.log('DISPATCHED')),
                delay(1000),
                map(() => console.log('DONE')
            .subscribe();

    }
}

不幸的是,控制台中的日志看起来像“ DISPATCHED”,“ SUCCESS”然后是“ DONE”。有没有一种方法可以在使用actions $流时处理动作生命周期?还是应该采用“旧的”方式,然后使用专用的MyAsyncActionSuccess动作来处理这种情况?

1 个答案:

答案 0 :(得分:0)

可能与this open issue有关。该库与Redux Dev Tools不兼容。我相信NGXS计划发布自己的开发工具。