Mam obserwowalne, że chcę tylko raz się uruchomić. Dokumenty mówią:Właściwy sposób unieszkodliwienia zdarzenia jednorazowego możliwego do zauważenia w RxSwift
Korzystanie z torebek na odpady lub bagażu do momentu, aż operator będzie solidnym sposobem na oczyszczenie zasobów. Zalecamy używanie ich w produkcji, nawet jeśli sekwencje zakończą się w skończonym czasie.
Moi obserwowalne kończy się po jednym razie
let observable = Observable.create() { observer in
webservice.makeHTTPRequestWithCompletionBlock {
if something {
observer.on(.Next(...))
observer.onCompleted()
} else {
observer.on(.Error(...))
}
}
}
powiedzieć, że nie był zainteresowany anulowanie abonentom to zaobserwować, po prostu chcę go uruchomić raz i kompletne. Chcę, aby cykl życia tego obserwowalnego zakończył się, gdy sama praca zostanie ukończona. Co oznacza, że nie ma dobrych kandydatów na disposeBag, które widzę. takeUntil również spodziewa się "wydarzenia" i nie ma dobrych, które mogę zobaczyć.
Teraz po prostu rozwiązać ostrzeżenie przez wyrzucać jednorazowy:
_ = observeable.subscribeNext { ... }
Czy istnieje sposób, aby to zrobić, lub inny paradygmat, że powinienem użyć?