Angular9: тип Observable <HttpEvent <class>> не может быть назначен типу Observable <class>

В моем приложении angular у меня есть служебный файл, который выполняет вызовы API. в одной из функций, которые у меня есть, как показано ниже.

 getSelectedPractitionerPermissions(id): Observable<classA> {
    const url =  apiUrl
    this.options = this.authService.getAuthInfo();
    return this.http.get<classA>(url, this.options);
  }

Но я получаю сообщение об ошибке, как показано ниже

Тип Observableнельзя присвоить типу Observable. Тип "HttpEvent" нельзя присвоить типу "ClassA". Тип "HttpSentEvent" не имеет общих свойств с типом "ClassA".

У меня есть все необходимые заголовки и токен, которые я получил от getAutInfo

  getAuthInfo() {
    const bearerToken = localStorage.getItem('token');
    let headers: HttpHeaders = new HttpHeaders();
    headers = headers.append('Authorization', 'Bearer ' + bearerToken);
    headers = headers.append('Cache-control', 'no-cache');
    headers = headers.append('Cache-control', 'no-store');
    headers = headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');
    headers = headers.append('Pragma', 'no-cache');
    return { headers };
  }

Если я удалю this.options в маршруте GET, он будет работать нормально. Но я хотел их иметь, так как мне нужно передать токен и другие параметры.

1 ответ

Решение

В getSelectedPractitionerPermissions

return this.http.get<classA>(url, {headers: this.options });

и в getAuthInfo:

return headers;
Другие вопросы по тегам