Тип «Наблюдаемый <Object>» не может быть назначен типу «Наблюдаемый <boolean>» - PullRequest
2 голосов
/ 28 мая 2019

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

  deleteUser(userId: string): Observable<boolean> {
    return this.httpClient
      .delete(url, this.getHttpOptions())
      .map(res => {
        return res;
      })
      .catch(this.handleError);
  }

Я получил тип res как логическое значение, когда пытался его напечатать.

Ответы [ 3 ]

3 голосов
/ 28 мая 2019

Во время компиляции TypeScript не знает, что на самом деле происходит от вызова API, он выводит его из объявлений и сигнатур функций.

      .delete<boolean>(url, this.getHttpOptions())

должно работать.

(и да, угробить map).

1 голос
/ 28 мая 2019

Тип res должен быть boolean, по умолчанию это будет any.Заменить карту следующим:

map((res:boolean) => {
    return res;
  })
0 голосов
/ 28 мая 2019

Вы можете исправить это, удалив .map (который ничего не делает):

deleteUser(userId: string): Observable<boolean> {
  return this.httpClient
    .delete(url, this.getHttpOptions())
    .catch(this.handleError);
}
...