javascript - Angular 7 map 运算符无法与 httpClient Observable 一起使用

标签 javascript angular typescript rxjs observable

添加 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/

相关文章:

javascript - Angular 模块加载错误

reactjs - Typescript 与复杂的 redux 操作和化简器集成

reactjs - 在 Visual Studio 2019 中调试 React App 不起作用

javascript - 创建没有 Angular ui 路由器的多步表单

javascript - 如何获取父div内元素的距离(以像素为单位)

javascript - 限制输入字段不能有相同的输入

javascript - JS : Make checkboxes disabled if select is default value?

javascript - 未处理的 Promise 拒绝 : Cannot read property 'push' of undefined Value

html - 模型更改后 Angular 2 不更新 View

angular - node-pre-gyp install --fallback-to-build --library=static_library