Ich bin nach dem Erweitern eines Observables-Dienstes, um Daten aus dem lokalen Speicher zurückzugeben.Angular 2 Observable Service zum Zurückgeben von Daten von localStorage
Szenario: Die Komponente wird Service.GetAll() abonnieren, und GetAll() wird im LocalStorage nach Daten suchen, wenn sie gefunden wird. Andernfalls wird ein API-Aufruf zum Abrufen der Daten ausgeführt.
ich es geschafft, dies mit Versprechen zu tun, aber ich ziehe es zu konvertieren
getAll(): Promise<IScheduleFrequency[]> {
let ScheduleFrequencies: IScheduleFrequency[] = this.storageService.get('ScheduleFrequencies');
if (ScheduleFrequencies != null) {
return Promise.resolve(ScheduleFrequencies);
} else {
return this.http.get(this.apiUrl)
.toPromise()
.then((response) => {
let ScheduleFrequencies: IScheduleFrequency[] = response.json();
this.storageService.save('ScheduleFrequencies', activityScheduleFrequencies);
return ScheduleFrequencies || [];
})
.catch(this.handleError);
}
}
Passend zum Observablen wenn jemand mir zeigen, wie ich weiter unten Service erweitern können, das gleiche zu tun.
getAll(): Observable<TransactionStatus[]> {
return this.http.get(this.apiUrl)
.map(this.extractData)
.catch(this.handleError);
}
Danke Asanka
aktualisieren Danke @ nzjun90 für ihre Antwort Notwendigkeit 'von' Import 'rxjs/add/beobachtbare/von' importieren funktioniert;