ngrx / effects switchMap不再适用于Angular2 RC5

时间:2016-08-16 10:31:02

标签: angular ngrx

我在Angular2应用程序中使用ngrx / effects,自RC5发布以来,我遇到了错误。这是我的代码:

import { Injectable } from '@angular/core';
import { Effect, Actions } from '@ngrx/effects';
import { UserActions } from './user.actions';
import { LoginService } from '../login';

constructor(
  private updates$: Actions,
  private userActions: UserActions,
  private loginService: LoginService
) {}

@Effect() loadUser$ = this.updates$
  .ofType(UserActions.LOAD)
  .switchMap(() => this.loginService.loadUserData())
  .map(user => this.userActions.loadUserComplete(user.userData));

上面的代码在Angular2 RC4中使用了ngrx / effects 1.1.1。

但是当我将Angular升级为RC5时,我收到了错误:Unhandled Promise rejection: this.updates$.ofType(...).switchMap is not a function

然后我将ngrx / effects升级到最新版本2.0.0-beta.2(根据文档应该为新的RC5 NgModule定制)但是得到了与上面完全相同的错误。是的,我在此步骤中将whenAction()函数更改为ofType()

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用import {switchMap} from 'rxjs/operators' 为我工作!这是使用版本6.4.0