Оператор карты Angular 7 не работает с httpClient Observable - PullRequest
0 голосов
/ 16 мая 2019

Я получил "undefined" после добавления оператора карты

Угловая версия: 7

Импорт карты:

import { map } from 'rxjs/operators';

С картой:

this.restaurantService.getRestaurants().pipe(map((restaurant:any) => restaurant.name)).subscribe((restaurants) => {
  console.log(restaurants); // undefined
});

Не обязательное поле «имя» возвращается неопределенным в любом поле

Без карты

this.restaurantService.getRestaurants().subscribe((restaurants) => {
  console.log(restaurants); // [{...,name: 'lorem'},{...},...]
});

Служба:

  getRestaurants(): Observable<_Restaurant[]> {
    return this.get(api.restaurants) as Observable<_Restaurant[]>;
  };

IЗашел в ресторан внутри оператора карты, и я получил массив, который должен быть объектом

 .pipe(map(restaurant => {
    console.log(restaurant); //[{},{}] !!
    return restaurant.name;
  }))

Есть идеи, почему я получаю неопределенное?

1 Ответ

4 голосов
/ 16 мая 2019
this.restaurantService
    .getRestaurants()
    .pipe(map((restaurants:any[]) => restaurants.map(restaurant => restaurant.name)));
...