【发布时间】:2022-11-12 19:09:51
【问题描述】:
我有以下代码
constructor(private http: HttpClient){};
ngOnInit() {
this.$users = this.http.get('https://jsonplaceholder.typicode.com/users');
}
所以在我获得所有用户之后,我需要过滤名称为 Leanne Graham 的对象
所以出于这个原因,我添加了过滤器
constructor(private http: HttpClient){};
ngOnInit() {
this.$users = this.http.get('https://jsonplaceholder.typicode.com/users');
const name = this.$users.pipe(filter(user => user.name === 'Leanne Graham'))
console.log(name);
}
现在代替对象
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
},
我越来越被观察到。我怎样才能直接得到名字? 在这种情况下,我是否总是需要订阅才能从流中获取名称?
【问题讨论】:
-
是的,您必须订阅您的信息流。 Observable 是一个流,而不是一个对象。
-
Observables 在订阅之前不会执行,所以你总是必须订阅或做一些等效的事情,比如
firstValueFrom