Можно ли отменить (Arrow-Kt) IO
?
В RxJava
всякий раз, когда я делаю observable.subscribe({ // handle success },{ // some errohandling })
, мне дают Disposable
, который я могу назвать Disposable.dispose()
.
Подобно сопрограммам, выполнение coroutineScope.launch { // Some suspending function }
возвращает Job
, на который я мог бы позвонить, Job.cancel()
и даже вызов coroutineScope.cancel()
, чтобы отменить все сопрограммы в области.
Я ищу то же самое с IO. Как я могу добиться того же в IO
? Я только звоню IO.unsafeRunAsyncCancellable { // Some Operations }
, но я не могу найти способ отменить его, если придется. Хотя он возвращает Disposable
, я точно не знаю, что с ним делать, поскольку это просто псевдоним типа для () -> Unit
.
Может ли кто-нибудь направить меня сюда?