簡體   English   中英

Angular 7 返回 Observable 不起作用

[英]Angular 7 returning Observable not working

我正在嘗試發出請求並將響應作為 Observable 獲取,但不知何故它不起作用。 但是我可以看到我在網絡中得到了響應。 有任何想法嗎 ?

public getTopRecepies(tag, limit, language): Observable<any> {
    return new Observable(() => {
      const params: SlotGamesRequestParams = {
        lang: language,
        limit: limit,
        page: 1,
        tag: tag
      };
      this.recepieRequest
        .setQueryParams(params)
        .makeRequest();
    });
  }

並嘗試像這樣訂閱組件

private getRecepies(tag, limit): void {
   
    let language = this.service.getLanguage();
    this.recepieService.getTopRecepies(tag, limit, language).subscribe(response => {
      console.log(response);
    });
  }

您似乎沒有將任何內容推送到新的 observable。 除非有什么東西被推到它上面,否則它不會發射。

相反,如果makeRequest()已經返回一個 observable,你可以直接返回它。 您不需要創建新的可觀察對象。

嘗試以下

public getTopRecepies(tag, limit, language): Observable<any> {
  const params: SlotGamesRequestParams = {
    lang: language,
    limit: limit,
    page: 1,
    tag: tag
  };
  return this.recepieRequest
    .setQueryParams(params)
    .makeRequest();
}

那是因為您沒有在 observable 中推送任何值。

有關更多信息,請參閱RXJS - Observable

這里的一個例子: Stackblitz - Example

暫無
暫無

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

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