具体可观察
- 返回一个可观测的阵列(
Observable<T[]>
) - 返回标识的项目通过ID作为可观察的(
Observable<T>
)
这是我acheved此:
export class Event {
constructor(public id: number, public title: string) {}
}
const EVENTS = [
new Event(1, 'Tooth extraction'),
new Event(2, 'English lesson'),
new Event(3, 'Driving lesson'),
new Event(4, 'Mortgage meeting'),
];
let eventsObservable: Observable<Event[]> = Observable.of(EVENTS);
import { Injectable } from '@angular/core';
@Injectable()
export class EventsService {
getEvents() {
return eventsObservable;
}
getEvent(id: number|string) {
return eventsObservable.concatMap((x) => {
return x;
}).filter((event: Event) => {
return id === event.id;
});
};
}
我只开始与观察到的,棱角分明,不过,我不认为由于这样的事实,我的执行getEvent(id: number|string)
是最优的是什么,我做的是:
- 德在
Observable<T[]>
每个项目, - 的Emit 每个那些作为
Observable<T>
, - 只有然后过滤发射项目要找到一个我在寻找,
- 返回此项目为可观察到的。
是否有更好,更优化的方式来返回Observable<T[]>
的独特项目?
为什么不只是'返回Observable.from(EVENTS.filter(e => e.id === id)))'? – Fabricio