ngrx/未分配映射动作的效果

ngrx/未分配映射动作的效果,ngrx,ngrx-effects,Ngrx,Ngrx Effects,我已经用ngrx/效果库定义了一个非常直接的效果 @Effect() public Authorize$ = this._actions$.ofType(IdentityActionsService.AUTHORIZE_IDENTITY) .switchMap(action => this._svc.Authorize$(action.payload)) .catch(err => Observable.of(null).do(() => console.err

我已经用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被触发,authorize$()运行,OnIdentityAuthorized()方法返回一个操作({type:payload:})激发

我期望发生的是,OnIdentityAuthorized()返回的操作应该被输入到相应的减缩器中——这并没有发生

我在OnIdentityAuthorized和相应的reducer中有一个调试器调用。未分派OnIdentityAuthorized返回的操作。这可能是什么原因造成的?我是不是误解了什么

我觉得我得到的基本上与示例1相同:

编辑 添加了额外的代码部分。。。该效果触发OnIdentityAuthorized调试器语句,因此observable一直通过异步授权调用发出。减速器壳体未触发

以下是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);

原来是我登记减速器的方式有问题


我试图做一些异国情调的事情,以便为延迟加载的模块添加额外的状态端点。。。事实证明存在一个问题-但这是另一个问题。

此的返回值是多少。_identity.OnIdentityAuthorized(identity)?您可以发布方法和示例内容吗?更新以包含请求的信息。