Я не понимаю, как реализовать отмену задачи в RXJava.
Я заинтересован в переносе существующего API, созданного с использованием Guava ListenableFuture
. Мой вариант использования выглядит следующим образом:
- У меня есть одна операция, состоящая из последовательности фьючерсов, соединенных
Futures.transform()
- Несколько подписчиков соблюдают окончательное будущее операции.
- Каждый наблюдатель может отменить окончательное будущее, и все наблюдатели будут свидетелями события отмены.
- Отмена окончательного будущего приводит к отмене его зависимостей, например. в последовательности
1
→2
→3
, отмена3
распространяется до2
и т.д.
В RxJava очень мало информации об этом; единственные ссылки, которые я могу найти для отмены, упоминают Subscription
как эквивалент .NET Disposable
, но, насколько я вижу, Subscription предлагает возможность отказаться от подписки на последующие значения в последовательности.
Я не понимаю, как реализовать "любой абонент может отменить" семантику через этот API. Думаю ли я об этом неправильно?
Любой ввод будет оценен.