首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kotlinx.coroutines未找到

kotlinx.coroutines未找到
EN

Stack Overflow用户
提问于 2022-08-01 16:51:02
回答 1查看 444关注 0票数 1

我正在编写Reactive原住民,并为Android实现一个自定义UI组件。我发送给组件的支持之一是一个庞大的对象数组。Android (Kotlin)中的反序列化需要一段时间(>200 UI ),我正在尝试使用async来防止阻塞UI。

代码语言:javascript
复制
@ReactProp(name = "items")
fun setItems(view: CustomListView, items: ReadableArray) {
    async {
        val itemsList = deserializItems(items)
        view.setItems(itemsList)
    }
}

但是Android说:Unresolved reference: async

我将这些添加到我的应用程序 build.gradle中。

代码语言:javascript
复制
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"

并且尝试手动导入kotlinx.coroutines,但是Android也没有找到它。

我怎样才能在安卓系统中获得async功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-01 17:37:25

您需要一个协同作用域才能调用async

我不太熟悉react开发,但是我将如何从viewModel内部使用这样的开发。

代码语言:javascript
复制
val asyncFunction = viewModelScope.async {
        //do your background work here
    }

然后您需要稍后对它进行await()

代码语言:javascript
复制
    viewModelScope.launch {
        asyncFunction.await()
    }

对于导入,我在gradle文件中有以下内容

代码语言:javascript
复制
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'

这些是进口品

代码语言:javascript
复制
import kotlinx.coroutines.*

而且,这听起来可能很傻,但是一定要在添加依赖项之后同步gradle。

或者在编辑gradle文件时使用屏幕上显示的"Sync“按钮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73197056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档