android - Kotlin Native (iOS) 中的 Kotlin Multiplatform Mobile : Ktor - how to cancel active coroutine (network request, 后台工作)?

标签 android ios kotlin-multiplatform ktor kotlin-native

在我的项目中,我以原生方式编写ViewViewModel 并共享RepositoryDbnetworking .

当用户从一个屏幕导航到另一个屏幕时,我想取消当前在第一个屏幕中运行的所有网络请求或其他繁重的后台操作。

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/

相关文章:

android:耳机插头监听器

ios - 我应该如何在 Swift 中创建一个依赖于另一个变量的变量?

ios - 在 Swift 中使用多个 View Controller

objective-c - 如何防止 uiwebview 缓存网页?

android - 无法解析外部依赖项 com.android.tools.build :gradle because no repositories are defined

android - 项目所有者没有足够的权限来验证 google in app 订阅

java - 连接至小米手环 2

Java - Android - NoClassDefFoundError - Logcat 中的 "Could not find class"错误

android - 使用 Kotlin 多平台实现相机库

gradle - 将 `.klib` 库添加到 kotlin 多平台