RXJS错误TypeError:“ this._subscribe不是函数”

时间:2018-12-26 21:33:47

标签: angular rxjs observable angular7

我收到以下错误,但无法解决。

  

错误TypeError:“ this._subscribe不是函数”

Here也是图像形式的完整堆栈跟踪。

我要实现的目标 我有一个名为 ChargingStation 的类,该类具有几个属性,看起来像this。此类的实例应从我的api中获取。此功能由名为 ChargingStationService 的类提供。 ChargingStationService 类中的相应方法显示为here。目前,我只是尝试将模拟的Observable返回。 getChargingStation 方法将从我的 ChargingStationComponent 调用,该方法看起来像this。检索到的 ChargingStation 对象应通过DataBinding在组件视图内显示。但是DataBinding ist不起作用/什么也没有显示。它曾经与服务一起工作,只返回类型为 ChargingStation 的对象,而不是返回 Observable

应用程序流程如何

ChargingStationComponent ngOnInit 方法中,它获取在URL / charging-station / {id} 中指定的ID。

  ngOnInit() {
    this.getChargingStation(+this.route.snapshot.paramMap.get('id'));
  }

使用此ID调用 getChargingStation(id)方法。

  getChargingStation(id: number): void {
    console.log(this.chargingStationService.getChargingStation(id));
    this.chargingStationService.getChargingStation(id)
      .subscribe(chargingStation => (this.chargingStation = chargingStation));
  }

此方法在内部使用注入的 ChargingStationService ,将来会从API中检索 ChargingStations 。当前,此方法看起来像这样,应该返回模拟的充电站可观察到的结果。

 getChargingStation(id: number): Observable<ChargingStation> {
    let searchedChargingStation= new ChargingStation(
      id,
      false,
      0.37,
      this.plugs,
      0.0,
      0.0,
      "Store Street, R802"
    );
    let observableSearchedChargingStation = Observable.create(searchedChargingStation);
    console.log(observableSearchedChargingStation);
    return observableSearchedChargingStation;
  }

我认为是错误的 我认为Observable.create方法可能是错误的选择,但我还没有找到更合适的方法。

我希望你们中的一些人能帮助我:)非常感谢,圣诞节快乐

问候 扬

1 个答案:

答案 0 :(得分:0)

一旦创建了新值,您就不会将其推送给观察者:)

代替

let observableSearchedChargingStation = Observable.create(searchedChargingStation);

这样做:

Observable.create((observer) => {
    observer.next(searchedChargingStation);
});

,您的代码应该按原样工作。