Получаем значение карты с помощью RXJS и angular

#angular #rxjs #observable

#angular #rxjs #наблюдаемый

Вопрос:

Я только что обновил angular, и это больше не работает. Я получаю эту ошибку: TypeError: не удается прочитать свойство ‘get’ из undefined. Функция .get, похоже, больше не работает. Есть идеи?

 this.http.post(this.baseUrl   'users/login', body, {
        headers: headers
    })
        .map((res:any) => res.headers._headersMap.get('auth'))
        .catch(this.handleError);
  

Ответ №1:

Использовать .get() для headers объекта напрямую:

 res.headers.get('auth')
  

Вы получите гораздо больше помощи от вашей IDE (автозаполнение), если вы правильно укажете тип res

 import {Response} from '@angular/http';
...

this.http.post(...)
        .map((res:Response) => res.headers.get('auth'))
        ...
  

Комментарии:

1. Большое спасибо, это отлично сработало! Не уверен, почему это работало раньше. В будущем я буду лучше разбираться в типах.