android - 在哪里可以找到 liveData 构建块?
问题描述
https://developer.android.com/topic/libraries/architecture/coroutines
Android coroutines
plusliveData
文档指出,liveData
如果我们想在实时数据函数中执行异步操作,我们可以使用 builder 函数
val user: LiveData<User> = liveData {
val data = database.loadUser() // loadUser is a suspend function.
emit(data)
}
val user: LiveData<Result> = liveData {
emit(Result.loading())
try {
emit(Result.success(fetchUser())
} catch(ioException: Exception) {
emit(Result.error(ioException))
}
}
我尝试安装lifecycle-viewmodel-ktx
库但找不到这个块。
它位于哪里?
解决方案
尝试:
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha01'
并且(当前)定义为:
@UseExperimental(ExperimentalTypeInference::class)
fun <T> liveData(
context: CoroutineContext = EmptyCoroutineContext,
timeoutInMs: Long = DEFAULT_TIMEOUT,
@BuilderInference block: suspend LiveDataScope<T>.() -> Unit
): LiveData<T> = CoroutineLiveData(context, timeoutInMs, block)
推荐阅读
- java - 在具有 azure 函数 @ServiceBusQueueTrigger 的 java 中,如何获取标签、自定义属性和代理属性?
- karate - 具有数据库查找的空手道自动化框架设计
- python - 修复 UnboundLocalError:在 python/pygame 中的赋值错误之前引用了局部变量 'click'?
- java - 如何在 GetStream 的 getActivities 中过滤特定动词
- php - 提交后一维数组变为多维
- bash - 有没有办法限制 getopts 只能在单个选项上工作?
- java - 在 JAX-RS Rest API 中上传大数据文件
- python - 在 Azure Kubernetes 服务中部署时导入 cv2 错误 - python
- c# - 如何让 ControllerContext 在带有 Hangfire 的 BackgroundJob 中使用 Rotativa 构建 PDF
- java - 在 Spring Cloud Stream 中使用 PollableMessageSource 输入时如何使用 avro 本机解码器?