2017-03-03 31 views
0

ngrx /エフェクトライブラリを使用してかなり簡単なフォワードエフェクトを定義しました。ngrx /エフェクトがマップされたアクションをディスパッチしない

私が何を期待...発射@Effectがトリガされた

@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)) 

は、$()を実行を承認し、アクションを返すOnIdentityAuthorized()メソッド、({タイプ:ペイロードは}) OnIdentityAuthorized()によって返されたアクションが、適切な減速機に供給されるべきであり、それは起こっていません。

私は、OnIdentityAuthorizedとそれに対応するレデューサーでデバッガの呼び出しを行っています。 OnIdentityAuthorizedによって返されたアクションがディスパッチされていません。これは何が原因でしょうか?私は何かを誤解していますか?観察可能なように、すべての放射され、https://github.com/ngrx/effects/blob/master/docs/intro.md

EDIT を追加しました追加のコードセクション...効果はOnIdentityAuthorizedデバッガステートメントをトリガー:私は私が持っているもののように感じる

は、ここでは例1と基本的に同じです非同期許可呼び出しの方法。減速機ケースがトリガされていません...ここで

は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); 
+0

「this._identity.OnIdentityAuthorized(identity)」の戻り値は何ですか?メソッドとサンプルコンテンツを投稿できますか? – olsn

+0

要求された情報を含めるように更新されました。 –

答えて

0

が持つ問題となっていることが判明します私はレデューサーを登録していた。

遅延ロードされたモジュールの状態のエンドポイントを追加するために、私はエキゾチックなことをしようとしていました...そこには問題がありますが、それは別の質問です。

関連する問題