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);
「this._identity.OnIdentityAuthorized(identity)」の戻り値は何ですか?メソッドとサンプルコンテンツを投稿できますか? – olsn
要求された情報を含めるように更新されました。 –