【问题标题】:How to call a method of an observable in angular?如何以角度调用可观察的方法?
【发布时间】:2019-09-12 10:07:57
【问题描述】:

我正在尝试在使用 rxjs 订阅 observable 后调用业务方法,但我无法使其工作。我错过了什么?

observable$.subscribe(value: A => {
  value.businessMethod();
});
class A {

  public businessMethod(): number {
    ...
  }
}

ERROR TypeError: "value.businessMethod is not a function"

【问题讨论】:

  • 它是什么样的 observable?
  • 您是否在“价值”中获得任何数据?
  • 你是如何初始化 observable 的?初始化后如何将值推入可观察对象? Observables 可能是热/冷的,具体取决于它们的初始化方式。你能显示更多代码吗?
  • 请在代码中定义 observable$ 的位置添加一行
  • 完整的A类长什么样子?以及具体是什么observable$。请提供minimal reproducible example

标签: angular ionic-framework rxjs observable


【解决方案1】:

我猜当obervable$ 还没有值时会发生错误。它的值是未定义的。请尝试

observable$.pipe(
  filter(Boolean),
).subscribe(value: A => {
  value.businessMethod();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2021-05-25
    相关资源
    最近更新 更多