角HttpClient结合管道,点击与订阅?

use*_*596 2 publish-subscribe angular angular-httpclient

我正在尝试使用Angular中的HttpClient检索一些数据。我的代码如下所示:

getData(suffurl: string, id?:number): Observable<any[]> {
    return this.http.get<any[]>('localhost:5555/DNZ/'+ this.suff_url)
    .pipe(
      tap(data => console.log("Anlagenstatus Daten:", data)),
      catchError(this.handleError('getData',[])),
      subscribe(Response => { console.log(Response)})
    )
  }
Run Code Online (Sandbox Code Playgroud)

但是,我不能在管道方法中使用订阅,也不能在.pipe方法之前或之后将其链接。问题是,没有链接,尽管链接和数据存在,但似乎此代码未从url返回任何数据或未向控制台记录任何内容?

Joh*_*ohn 8

您必须订阅该方法(因为它返回Observable),而不是在管道内部。

试试这个

getData(suffurl: string, id?:number): Observable<any[]> {
    return this.http.get<any[]>('localhost:5555/DNZ/'+ this.suff_url)
    .pipe(
      tap(data => console.log("Anlagenstatus Daten:", data)),
      catchError(this.handleError('getData',[])),
    )
  }
Run Code Online (Sandbox Code Playgroud)

然后打电话

this.getData("url").subscribe(Response => { console.log(Response)})
Run Code Online (Sandbox Code Playgroud)