我正在编写Reactive原住民,并为Android实现一个自定义UI组件。我发送给组件的支持之一是一个庞大的对象数组。Android (Kotlin)中的反序列化需要一段时间(>200 UI ),我正在尝试使用async来防止阻塞UI。
@ReactProp(name = "items")
fun setItems(view: CustomListView, items: ReadableArray) {
async {
val itemsList = deserializItems(items)
view.setItems(itemsList)
}
}但是Android说:Unresolved reference: async
我将这些添加到我的应用程序 build.gradle中。
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"并且尝试手动导入kotlinx.coroutines,但是Android也没有找到它。
我怎样才能在安卓系统中获得async功能?
发布于 2022-08-01 17:37:25
您需要一个协同作用域才能调用async。
我不太熟悉react开发,但是我将如何从viewModel内部使用这样的开发。
val asyncFunction = viewModelScope.async {
//do your background work here
}然后您需要稍后对它进行await()。
viewModelScope.launch {
asyncFunction.await()
}对于导入,我在gradle文件中有以下内容
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'这些是进口品
import kotlinx.coroutines.*而且,这听起来可能很傻,但是一定要在添加依赖项之后同步gradle。

或者在编辑gradle文件时使用屏幕上显示的"Sync“按钮。
https://stackoverflow.com/questions/73197056
复制相似问题