Почему функция канала rxjs в моем httpclient возвращает Observable <Response | MyClass> - PullRequest
0 голосов
/ 09 мая 2018

В этом коде

getHero(id: number): Observable<Hero> {
  const url = `${this.heroesUrl}/${id}`;
  return this.http.get<Hero>(url).pipe(
    tap(_ => this.log(`fetched hero id=${id}`)),
    catchError(this.handleError<Hero>(`getHero id=${id}`))
  );
}

из угловой документации здесь работает нормально, тогда как в моем проекте «идентичный» код выдаёт мне ошибку

ошибка TS2322: тип «Наблюдаемый» не может быть назначен типу «Наблюдаемый».

после обновления до угловой 6?

public getCustomer(customerRecId: string): Observable<Customer> {
  const url = `${this.baseUrl}/Customer?recId=${customerRecId}`;
  const customer$ = this.http.get(url, this.httpOptions).pipe(
    map(this.mapCustomer), 
    catchError(this.handleError)
  );

  return customer$;
}

Наведение указателя мыши на «.pipe» в vsCode показывает, что в первом примере он возвращает Observable, а во втором - Observable

Я не понимаю, почему два примера отличаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...