【发布时间】:2018-05-22 23:16:27
【问题描述】:
我正在尝试开发一个 Angular 服务,它使用其他服务来提供这些服务的元数据。数据对象是具有连接类的不同类别的人。 (即客户、顾问和销售关系。)
我想跟踪的一个基本指标是是否为客户分配了顾问。 (即不匹配)。我的标准服务中有一个名为 Clients 的 Observable Array,我在 MetaData Service 中订阅它,如下所示:
this.clientService.clientArray().map( ..... ).subscribe(i => this.unmatchedClients.next(i);
我想要做的是过滤来自 Observable Subscription 的数组以检查多个字段。在别处有人建议我应该像这样进行完整的过滤器调用:
this.clientService.clientArray().map( r => {
r.filter( i => {
i.connected === true
})
}).subscribe(r => this.unmatchedClients.next(r));
预期结果应该是一组客户,而不是我可以订阅并获得计数长度的单个客户。
我怎样才能做到这一点?
【问题讨论】:
-
地图中的过滤对您不起作用吗?顺便说一句,在该代码中,您应该在
r.filter(...)之前有一个return,因为它被{}包围。 -
没有,但我认为是因为我没有完全理解 observables
-
尝试添加return语句。如果这不起作用,您能否举一个
this.clientService.clientArray()返回的数据示例。
标签: angular rxjs observable subscribe