第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可觀察返回值上未定義的角度訂閱

可觀察返回值上未定義的角度訂閱

繁星點點滴滴 2022-09-29 16:03:55
我的服務import { Injectable } from "@angular/core";import { Observable, of } from "rxjs";import { SearchResult } from "../Components/container-search/Models/SearchResult";import { environment } from "../../environments/environment";import { HttpClient, HttpHeaders } from "@angular/common/http";@Injectable({  providedIn: "root",})export class ContainerService {  constructor(public http: HttpClient) {}  private SearchResults: SearchResult[] = [];  public headers = {    headers: new HttpHeaders({      "Content-Type": "application/json",    }),  };  public Search(): Observable<SearchResult[]> {    if (this.SearchResults.length === 0) {       this.http        .get<SearchResult[]>(          environment.endpointURL + "/FooBar/Search",          this.headers        )        .subscribe((x) => {          this.SearchResults = x;          return of(this.SearchResults);        });    } else {      return of(this.SearchResults);    }  }}當我在我的組件中調用 Search() 時,它返回TypeError: Cannot read property 'subscribe' of undefined我的通話代碼是  ngOnInit(): void {    this.dataSource.paginator = this.paginator;     this.searchService.Search().subscribe((x) => {      this.dataSource = new MatTableDataSource<SearchResult>(x);    });  }有人可以解釋為什么此代碼總是返回上述錯誤嗎?this.searchService.Search()
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

調用返回一個 ,但這不是該方法返回的內容。訂閱是一個異步過程。啟動該進程,并且僅在 http 調用返回時才做出反應,但該方法繼續(xù)執(zhí)行并返回未定義。.subscribeObservableSearchsubscribeSearch


下面的代碼將直接從 http 調用返回 并解決您的問題。Observable


import { tap } from 'rxjs/operators';


public Search(): Observable<SearchResult[]> {

    if (this.SearchResults.length === 0) {

       return this.http

        .get<SearchResult[]>(

          environment.endpointURL + "/FooBar/Search",

          this.headers

        ).pipe(tap(x => this.SearchResults = x));

    } else {

      return of(this.SearchResults);

    }

  }


查看完整回答
反對 回復 2022-09-29
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號