Я пытаюсь отказаться от подписки после получения первого элемента из наблюдаемого. И, кажется, не работает. Что я делаю не так?
public class ObservableAndSubscriber {
public static void main(final String[] args) {
final Observable<String> strObservable = Observable.create(s -> {
while (true) {
s.onNext("Hello World!!");
}
});
final Subscriber<String> strSubscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
}
@Override
public void onError(final Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(final String t) {
System.out.println(t);
this.unsubscribe();
}
};
strObservable.subscribe(strSubscriber);
}
}
Результат, кажется, печатает «Hello World» в бесконечном цикле.