2
吹碼是來自bookexist護衛ngrx/example 據我所知,它打電話googleBooks
服務做出一個http請求,並檢查該書是否已經在商店。我無法理解的部分是它不會在護衛服務的任何地方撥打subscribe
。我的理解是,Anuglar2中的http Observables被認爲是冷觀察對象,這意味着它們不會被調用,直到有人訂閱它。Rxjs如何調用冷Observables
我的問題是:如何調用下面的googleBooks服務?
hasBookInApi(id: string): Observable<boolean> {
return this.googleBooks.retrieveBook(id)
.map(bookEntity => new book.LoadAction(bookEntity))
.do((action: book.LoadAction) => this.store.dispatch(action))
.map(book => !!book)
.catch(() => {
this.router.navigate(['/404']);
return of(false);
});
}