如何取消arrow-kt IO?
How to cancel arrow-kt IO?
是否可以取消 (Arrow-Kt) IO
?
在 RxJava
中,每当我执行 observable.subscribe({ // handle success },{ // some errohandling })
时,我都会得到一个 Disposable
,我可以调用 Disposable.dispose()
。
与协程类似,执行 coroutineScope.launch { // Some suspending function }
returns 我可以调用的 Job
,Job.cancel()
甚至调用 coroutineScope.cancel()
取消所有协程范围。
我正在寻找与 IO 相同的东西。我怎样才能在 IO
中实现同样的目标?我只是打电话给 IO.unsafeRunAsyncCancellable { // Some Operations }
,但如果必须的话,我似乎找不到取消它的方法。尽管它 returns 是 Disposable
,但我不知道如何处理它,因为它只是 () -> Unit
.
的类型别名
有人可以指导我吗?
正如您自己提到的那样 unsafeRunAsyncCancellable
returns Disposable
。它确实是 () -> Unit
的类型别名,与 RxJava 的 Disposable#dispose
相同。这是一个不带参数的函数,returns Unit
。
调用时它会取消 IO
。因为它只是一个函数,所以 RxJava 中的 CompositeDisposable
变成了简单的函数组合。
此外,如果您想与该库互操作,我们还集成了 KotlinX Coroutines 结构化并发。在这种情况下,您可以使用目前在 SNAPSHOT 中但预计将在本月发布的 KotlinX integration module。
希望能回答您的问题:)
是否可以取消 (Arrow-Kt) IO
?
在 RxJava
中,每当我执行 observable.subscribe({ // handle success },{ // some errohandling })
时,我都会得到一个 Disposable
,我可以调用 Disposable.dispose()
。
与协程类似,执行 coroutineScope.launch { // Some suspending function }
returns 我可以调用的 Job
,Job.cancel()
甚至调用 coroutineScope.cancel()
取消所有协程范围。
我正在寻找与 IO 相同的东西。我怎样才能在 IO
中实现同样的目标?我只是打电话给 IO.unsafeRunAsyncCancellable { // Some Operations }
,但如果必须的话,我似乎找不到取消它的方法。尽管它 returns 是 Disposable
,但我不知道如何处理它,因为它只是 () -> Unit
.
有人可以指导我吗?
正如您自己提到的那样 unsafeRunAsyncCancellable
returns Disposable
。它确实是 () -> Unit
的类型别名,与 RxJava 的 Disposable#dispose
相同。这是一个不带参数的函数,returns Unit
。
调用时它会取消 IO
。因为它只是一个函数,所以 RxJava 中的 CompositeDisposable
变成了简单的函数组合。
此外,如果您想与该库互操作,我们还集成了 KotlinX Coroutines 结构化并发。在这种情况下,您可以使用目前在 SNAPSHOT 中但预计将在本月发布的 KotlinX integration module。
希望能回答您的问题:)