Angular 映射订阅getAll

Angular 映射订阅getAll,angular,rxjs,Angular,Rxjs,在Angular中,在订阅之前是否可以过滤HttpRequest?正如您在下面看到的,我想使用下面的一种代码,只获取用户的属性“name”。我已经尝试过“map”和一些RxJS映射操作符,但不幸的是,我没有成功地从服务中“提取name属性”。。我做错了什么 this.userService.getAll().map(users => users['name']).subscribe(filterNames => { console.log(filterNames); }); 我不

在Angular中,在订阅之前是否可以过滤HttpRequest?正如您在下面看到的,我想使用下面的一种代码,只获取用户的属性“name”。我已经尝试过“map”和一些RxJS映射操作符,但不幸的是,我没有成功地从服务中“提取name属性”。。我做错了什么

this.userService.getAll().map(users => users['name']).subscribe(filterNames => { console.log(filterNames); }); 

我不确定getAll返回什么,但我假设它返回一个用户数组。 如果需要用户名数组,则管道应如下所示:

this.userService.getAll().pipe(
    map(users => users.map(user => user.name))
).subscribe(userNames => console.log(userNames));
首先使用rxjs
map
操作符将结果(用户数组)映射到其他对象。
然后使用
Array.map
运行用户数组到用户名数组的实际转换。

this.userService.getAll()返回什么?+++您应该使用
pipe
操作符:
this.userService.getAll().pipe(map(users=>users.name)).subscribe(filterNames=>console.log(filterNames))