微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

'Observable <Observable <HttpEvent <any >>>'不可分配给'Observable <any []>'类型

如何解决'Observable <Observable <HttpEvent <any >>>'不可分配给'Observable <any []>'类型

我想调用一个http请求,该请求必须返回一个observable,然后由 在特定时间间隔内调用进一步的方法...

请考虑这个

订户方法

 startReceivingMeasurmentLiveDataV2(httpOptions: any,deviceid:number,seriesType:string,aggregation:string,from:string,to:string,pageSize:number,revert:boolean) {
debugger;
if (this.intervalSubscription) {
  this.intervalSubscription.unsubscribe();
}

this.intervalSubscription = interval(200)
  .pipe(
    takeWhile(() => this.alive),//    switchMap(() => this.deviceService.getMeasurmentLiveUpdateCardDataV2(httpOptions,deviceid,seriesType,aggregation,from,to,pageSize,revert)),switchMap(() => this.deviceService.GetMeasurmentsV2(httpOptions,)
  .subscribe((liveUpdateChartData: any[]) => {

  debugger;
    this.liveUpdateChartData = [...liveUpdateChartData];

// console.log(“测量数据”); // console.log(this.liveUpdateChartData); }); }

可观察的

GetMeasurmentsV2(httpOptions: any,deviceid: number,seriesType: string,aggregationType: string,dateFrom: string,dateto: string,pageSize: number,revert: boolean):  Observable<any[]>  {
let url =  `${this.config.apiUrl}/measurement/measurements/series?aggregationType='${aggregationType}'&dateFrom='${dateFrom}'&dateto='${dateto}'&pageSize='${pageSize}'&revert='${revert}'&series='${seriesType}'&source='${deviceid}'`
url = url.replace(/'/g,'');  


return this.httpClient.get<any>(

     url,httpOptions)
      
      .pipe(map(measurments => {
        return observableOf(measurments);

     
      }));

}

现在是问题所在

enter image description here

请帮助我如何解决此问题?

解决方法

您现在正在返回嵌套的可观察对象

只需返回初始可观察的return this.httpClient.get<any>(url,httpOptions),而无需将响应包装在另一个可观察的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。