具體可觀察
- 返回一個可觀測的陣列(
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