return (state$: Observable<AppState>) => state$ .select(s => s.cart);
// Uses Observable.forkJoin() to run multiple concurrent http.get() requests. // The entire operation will result in an error state if any single request fails. getBooksAndMovies() { return Observable.forkJoin( this.http.get('/api/books'), this.http.get('/api/movies') ); }
this.notesDataService.getNotes().mergeMap(notes => Observable.from(notes)).subscribe(note => {
getErrorMessage: () => Observable.of('incorrect password'),
export function getLang(state$: Observable<IMultilingualState>) { return state$.select(state => state.lang); }
/** * Error handler * @param error * @returns { ErrorObservable } * @private */ private _handleError (error: Response) { let errorMessage = error.text() || 'Server error'; console.error(errorMessage); return Observable.throw(new Error(errorMessage)); }
.catch((error: any) => { console.error(error); return Observable.throw(error.json().error || 'Server error'); })
get: job => Observable.of()
return (state$: Observable<SearchState>) => state$ .select(s => s.loading);
save(entity) { return Observable.of(entity); }