Die Funktion more()soll eine Observablevon einer get-Anfrage zurückgeben
export class Collection{
public more = (): Observable<Response> => {
if (this.hasMore()) {
return this.fetch();
}
else{
// return empty observable
}
}
private fetch = (): Observable<Response> => {
return this.http.get('some-url').map(
(res) => {
return res.json();
}
);
}
}
In diesem Fall kann ich eine Anfrage nur dann stellen, wenn sie hasMore()wahr ist. Andernfalls wird ein subscribe()Funktionsfehler angezeigt subscribe is not defined. Wie kann ich eine leere Observable zurückgeben?
this.collection.more().subscribe(
(res) =>{
console.log(res);
},
(err) =>{
console.log(err);
}
)
Aktualisieren
In RXJS 6
import { EMPTY } from 'rxjs'
return EMPTY;
import "EmptyObservable" from "rxjs/observable/EmptyObservable";, dannnew EmptyObservable<Response>();.