NGRX/效果不派遣映射的动作



我使用ngrx/效果库定义了一个非常直接的效果。

@Effect()
public Authorize$ = this._actions$.ofType(IdentityActionsService.AUTHORIZE_IDENTITY)
    .switchMap(action => this._svc.Authorize$(action.payload))
    .catch(err => Observable.of(null).do(() => console.error(err); }))
    .map(identity => this._identity.OnIdentityAuthorized(identity)) 

@effect触发,授权$()运行和onidentityAuthorized()方法,该方法返回操作({type:pareload:})fires ...

我期望发生的是,由OnidentityAuthorized()返回的操作应被送入适当的还原器 - 这不会发生。

我在OnidentityAuthorized和相应的还原器中有一个调试器呼叫。尚未派遣由OnidentityAuthorized返回的动作。这可能是什么原因?我误会了什么吗?

我觉得我所拥有的基本上与示例1相同:https://github.com/ngrx/effects/blob/master/master/docs/intro.md

编辑添加了其他代码部分...效果触发了OnIdentityAuthorized Debugger语句,因此可观察到的是通过异步授权调用一直发射。还原盒没有触发...

这是OnIdentityAuthorized()实现:

public static ON_IDENTITY_AUTHORIZED = '[IDENTITY] Authorized';
public OnIdentityAuthorized(identity: Identity | JWT): Action {
    debugger;
    return {
         type: IdentityActionsService.ON_IDENTITY_AUTHORIZED,
         payload: identity
    };
}

这是还原部分:

switch (action.type) {
        case IdentityActionsService.ON_IDENTITY_AUTHORIZED:
            debugger;
            return merge({}, action.payload);

原来是我注册还原器的方式的问题。

我试图做一些异国情调的事情,以添加懒惰加载模块的其他状态终点...结果有一个问题 - 但这是一个不同的问题。

最新更新