在我的项目中,我以原生方式编写View 和ViewModel 并共享Repository、Db、networking .
当用户从一个屏幕导航到另一个屏幕时,我想取消当前在第一个屏幕中运行的所有网络请求或其他繁重的后台操作。
Repository 类中的示例函数:
@Throws(Throwable::class)
suspend fun fetchData(): List<String>
在 Android 的 ViewModel
中,我可以使用 viewModelScope
自动取消所有 Activity 协程。但是如何在 iOS 应用程序中取消这些任务呢?
最佳答案
假设对象 session 是一个 URLSession
实例,您可以通过以下方式取消它:
session.invalidateAndCancel()
关于android - Kotlin Native (iOS) 中的 Kotlin Multiplatform Mobile : Ktor - how to cancel active coroutine (network request, 后台工作)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65927365/