问题描述
使用LiveData考虑一个简单的协程
liveData(viewmodelScope.coroutineContext + dispatchers.IO) {
emitSource(repo.fetchUser().map { user ->
// .. Do something
}
}
以前直到org.jetbrains.kotlin:kotlin-gradle-plugin: 1.3.72 ,该语句都还不错。 现在出现错误
Type mismatch.
required:
Unit
Found:
disposableHandle
如果您在liveData
库中看到androidx.lifecycle:lifecycle-livedata-ktx:2.2.0
函数,
fun <T> liveData(
context: CoroutineContext = EmptyCoroutineContext,timeoutInMs: Long = DEFAULT_TIMEOUT,@BuilderInference block: suspend LiveDataScope<T>.() -> Unit
): LiveData<T> = CoroutineLiveData(context,timeoutInMs,block)
“ block”返回“ Unit”,这很好。但是,emitSource
返回disposableHandle
。
在Kotlin 1.4之前,编译器没有抱怨。现在突然我的整个源代码到处都是这些错误
是因为Kotlin的这一新功能接口功能吗?
disposableHandle
中只有一种方法。有什么变化?还有其他人面对吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)