我正在尝试使用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));
预期的结果应该是一组客户,而不是我可以订阅的个人客户,并获得计算的长度。
我怎样才能做到这一点?
答案 0 :(得分:0)
我认为你还有一个不必要的步骤。如果你想过滤数组,你需要管道订阅
this.clientService.clientArray()
.filter( client => {
return client.connected;
})
.subscribe(r => this.unmatchedClients.next(r));
订阅中的一些代码我不知道目标是什么,所以我保持原样。