我正在调用返回列表的Web服务。我想以一种方法从该列表返回一项。本质上,当某些函数请求一个CollectorIssueBase实例时,我想检索所有实例,将其缓存并返回所请求的实例。但是我不知道该怎么做。 这是我的代码:
public getByID(collectorID: string, id: string): Observable<CollectorIssueBase> {
return this.getAllMinimized(collectorID).pipe(
single(items => {
var item = items.find(i => i.ID == id);
return item;
})
);
}
那我做错了什么? “单”似乎是要使用的适当运算符...我使用错了吗?
答案 0 :(得分:1)
单个回调以CollectorIssueValue[]
的形式出现在每个可观察到的刻度中。如果要将CollectorIssueValue[]
更改为CollectorIssueValue
,建议使用过滤器和映射。过滤器将过滤空数组,而映射会将CollectorIssueValue
的非空数组转换为CollectorIssueValue
。
例如:
.pipe(
filter(arr => arr.length > 0),
map(arr => arr.find(...),