添加 map 运算符后,我得到“未定义”
Angular 版本:7
map 导入:
import { map } from 'rxjs/operators';
带有 map :
this.restaurantService.getRestaurants().pipe(map((restaurant:any) => restaurant.name)).subscribe((restaurants) => {
console.log(restaurants); // undefined
});
Not necessary "name" field is returning undefined at any field
没有 map
this.restaurantService.getRestaurants().subscribe((restaurants) => {
console.log(restaurants); // [{...,name: 'lorem'},{...},...]
});
服务:
getRestaurants(): Observable<_Restaurant[]> {
return this.get(api.restaurants) as Observable<_Restaurant[]>;
};
我在 map 操作符中记录了餐厅,我得到了一个应该是对象的数组
.pipe(map(restaurant => {
console.log(restaurant); //[{},{}] !!
return restaurant.name;
}))
知道为什么我会得到未定义的结果吗?
最佳答案
this.restaurantService
.getRestaurants()
.pipe(map((restaurants:any[]) => restaurants.map(restaurant => restaurant.name)));
关于javascript - Angular 7 map 运算符无法与 httpClient Observable 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56166823/