ich RxSwift für das Caching in meinem iOS-App und hat ein Stück Code wie folgt bin mit:ReactiveX RxSwift erhält erste nicht Fehler von Concat von Observablen
let observable = Observable.of(cache.getItem(itemID), network.getItem(itemID)).concat().take(1)
observable.subscribeNext // and do some stuff
Ich habe die cache.getItem
Methode ein onError
zu tun, wenn es hat kein Wert, und möchte es dann auf das Netzwerk verschieben, aber aus irgendeinem Grund wird das Netzwerk nie ausgeführt. Ich nehme an, weil ich Take (1) verwende, aber ich möchte, dass das Observable aufhört zu emittieren, sobald der Cache etwas findet (oder mit dem Netzwerk fortfahren, wenn dies nicht der Fall ist).
Irgendwelche Ideen, wie man das macht?
Ich habe this Guide verfolgt, aber er geht nicht ins Detail über das Verhalten seines Caches, wenn es etwas nicht finden kann.
Awesome, dank dude! Gute Erklärung und funktioniert perfekt – Josh
Direkt dran, Spaß mit Rx! – solidcell