首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ngrx/effects switchMap在Angular2 RC5中不再有效

ngrx/effects switchMap在Angular2 RC5中不再有效
EN

Stack Overflow用户
提问于 2016-08-16 18:31:02
回答 2查看 4K关注 0票数 4

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

代码语言:javascript
复制
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/ RC4 1.1.1的Angular2 RC4中运行良好。

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

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

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-16 18:51:39

您不会在angular 2项目中自动导入所有RxJS操作符。您是否尝试手动导入switchMap操作符?

代码语言:javascript
复制
import 'rxjs/add/operator/switchMap';

这一定存在于代码中的某个地方,可能是由第三方库导入的,在此之前不再导入运算符。

票数 11
EN

Stack Overflow用户

发布于 2019-02-22 05:12:56

使用import {switchMap} from 'rxjs/operators'对我来说很有效!这是使用版本6.4.0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38972554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档