71得票3回答
挂起函数'callGetApi'只能从协程或另一个挂起函数中调用。

我正在从 onCreate(...) 调用挂起函数。override fun onCreate(savedInstanceState: Bundle?) { ... ... callGetApi() } 挂起的函数是:suspend fun callGetApi() {...

45得票1回答
科特林协程:coroutineScope 和 withContext 有什么区别?

withContext suspend fun <T> withContext( context: CoroutineContext, block: suspend CoroutineScope.() -> T ): T (source) Calls the...

28得票5回答
如何从协程作用域返回值

有没有办法从一个协程作用域中返回值?例如像这样:suspend fun signUpUser(signUpData : SignUpUserRequest) : User { CoroutineScope(Dispatchers.IO).launch() { val res...

27得票6回答
Kotlin中CoroutineScope和coroutineScope的区别

有人能够说明一下 CoroutineScope() 和 coroutineScope() 函数之间的区别吗? 当我查看源代码时,我发现它们都是 CoroutineScope.kt 中的函数。此外,coroutineScope() 是一个 suspend 函数,而另一个是普通函数。 下面是我...

19得票5回答
如何停止或取消 Kotlin Coroutine (立即停止当前运行的代码块)?

我想达到什么目的? 我有一个任务要下载图片,但随着屏幕滚动,它会取消先前的下载并开始下载新的图片。我希望当它取消正在下载先前图像的coroutine时,它能立即停止并释放带宽,以便新图片可以更快地下载。 我尝试过什么? 我尝试了多种方法来停止coroutine,但即使取消了coroutine,...

18得票2回答
Kotlin协程GlobalScope.launch与runBlocking的区别

这两种方法有什么区别吗?runBlocking { launch(coroutineDispatcher) { // job } } GlobalScope.launch(coroutineDispatcher) { // job }

17得票7回答
如何在多个用户或文件中使用Android DataStore?

我希望使用DataStore存储一些偏好设置。但问题在于我的应用程序可能有多个用户,因此需要将这些偏好设置存储在单独的文件中。我已经有一个可以使用一个用户的工作示例,但是我正在努力支持多个用户。 以下是我的代码示例:class DataStorageRepository(private val...

11得票1回答
通过Kotlin协程调用普通函数并返回值

你好,我正在项目中使用Kotlin协程库。 下面的方法调用一个暂停函数,该函数返回一个布尔值。 fun isNetworkAvailable(context: Context?): Boolean { //return checkNetworkReachabilit...

10得票2回答
获取流的收集中当前和前一个值。

我需要在流式收集中处理当前值和前一个值,因此我需要一些像这样的运算符: ----A----------B-------C-----|---> ---(null+A)---(A+B)---(B+C)--|---> 一个想法是这样的: fun <T: Any> F...

10得票1回答
Kotlin协程 - 如何确保在协程内部调用时某些命令在UI主线程上运行?

我有一个非常简单的协程,只是做一些延迟,然后我想让它将命令发布到UI消息队列。 所以在UI线程上运行最后两行。 这是该协程:async{ delay(5000) doSomething() doAnotherThing() } 我希望最后两个方法 doSomething...