In rxJava 1.x war es möglich, so etwas zu tun:in rxJava auf dem gleichen Teilnehmer abonnieren 2
Observable.<Foo>create(subscriber -> {
...
getNewObservable().subscribe(Subscribers.wrap(subscriber));
})
GetNewObservable() Rückkehr auch Observable<Foo>
ich nicht den gleichen Ansatz finden in rxJava 2. Es gibt keine Subscribe-Methode, die Emitter oder ObservableEmitter auf Observable-Objekt akzeptiert. Ich glaube, ich etwas tun kann:
Observable.<Foo>create((ObservableEmitter<Foo> emitter) -> {
...
getNewObservable().subscribe(emitter::onNext, emitter::onError, emitter::onComplete);
})
Aber ich frage mich, ob es eine einfachere Art und Weise wie in rxJava ist 1.
Dank.
Was genau sind Sie mit diesem nicht offensichtlichen Ansatz zu erreichen versuchen? Es muss viel sauberer sein, dies zu tun. Bitte beschreiben Sie den Zweck Ihres Codes. –
Sicher, es gibt wahrscheinlich mehr Möglichkeiten, dies zu umgehen, aber ich bin gespannt, ob es wirklich keine Entsprechung in rxJava 2 gibt. Dieser Ansatz wird in [Reaktive Programmierung mit RxJava] (http://shop.oreilly.com) erwähnt /product/0636920042228.do) buchen. Aber zurück zu meinem Fall, ich mache Android lib und ich möchte beobachtbare Hexe haben wird alle x Minuten einige Aktion zu tun. Also habe ich einen Timer dafür beobachtbar. Aber die "Arbeit" erfordert einige Berechtigungen gewährt werden. Ich wollte nur zuerst die Berechtigungen überprüfen und nur dann, wenn es in Ordnung ist, den Timer beobachtbar zu abonnieren. Sonst return onError ... – bio007
Was ist damit: 'if (permissionGranted) return Observable.interval (...). Map (...); Sonst return Observable.error (...); '? –