我在我的 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));
上面的代码在带有ngrx/effects 1.1.1的Angular2 RC4中运行良好。
但是当我将 Angular 升级到 RC5 时,我得到了错误:Unhandled Promise rejection: this.updates$.ofType(...).switchMap is not a function
然后我将ngrx/effects升级到最新版本2.0.0-beta.2(根据文档应该为新的RC5 NgModule定制)但得到了与上面完全相同的错误。是的,我在这一步中将whenAction()
功能更改为。ofType()
有任何想法吗?