簡體   English   中英

&#39;可觀察的<Observable<HttpEvent<any> &gt;&gt;&#39; 不可分配到類型 &#39;Observable<any[]> &#39;

[英]'Observable<Observable<HttpEvent<any>>>' is not assignable to type '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,deviceId,seriesType,aggregation,from,to,pageSize,revert)),
  )
  .subscribe((liveUpdateChartData: any[]) => {

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

//console.log("測量數據"); // console.log(this.liveUpdateChartData); }); }

Http 可觀察對象

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);

     
      }));

}

現在問題來了

在此處輸入圖片說明

請幫助我如何解決這個問題?

你現在正在返回一個嵌套的 observable

只需返回初始 observable return this.httpClient.get<any>(url, httpOptions) ,而無需將響應包裝在另一個 observable 中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM