首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自switchMap的BehaviorSubject,则getValue不是函数错误

来自switchMap的BehaviorSubject,则getValue不是函数错误
EN

Stack Overflow用户
提问于 2017-07-14 12:57:56
回答 1查看 2.3K关注 0票数 0

这是我的类ts代码

代码语言:javascript
复制
this.product$ = <BehaviorSubject<Product>>this.route.params.switchMap(
  (params): BehaviorSubject<Product> =>
   this.productService.getProduct(params['_id'])
);

这是来自服务的代码

代码语言:javascript
复制
  getProduct(_id: string): BehaviorSubject<Product> {
    const bs = new BehaviorSubject<Product>
                   (ProductService.initializeProduct());
    if (_id !== '0') {
      this.productSub = this.databaseService.getProduct(_id).subscribe(
        product => {
        bs.next(product);
        }
      );
    }
    return bs;
  }

我声明了type,还强制转换了type,但是当我编写

代码语言:javascript
复制
console.log(product$.getValue)

我得到了这个错误:

错误TypeError: this.product$.getValue不是函数

谢谢

EN

Stack Overflow用户

发布于 2017-07-14 13:07:17

一般来说,这不是switchMap和RxJS的工作方式。运算符返回的可观测值取决于调用该运算符的可观测值。所述可观察对象可以实现lift以返回相同类型的可观察实例。

您调用switchMap的结果将从this.route.params observable中删除。它不是BehaviorSubject,也没有getValue方法。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45094924

复制
相关文章

相似问题

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