我想知道什么时候应该使用顶级 const,什么时候应该使用伴生对象?如果财产是私人的还是公共的,我应该考虑使用什么?
const val URI = "sdfsdfsdf"
Run Code Online (Sandbox Code Playgroud)
或者我应该使用:
companion object {
const val URI = "sdfsdfsdf"
}
Run Code Online (Sandbox Code Playgroud)
当我们处理可见性时,使用什么重要吗?
我有这些代码,我希望它能够使其更加优化
我想我可以使用 kotlin-flow 的 flatMapMerge 但我不认为我应该如何将我的代码转换为 flow
val quiries = listof("s","b","s","g","d","r","t")
quiries.map { query ->
viewModelScope.launch {
val results = fetchColumns(query)
resultMutableData.postValue(results)
}
}
Run Code Online (Sandbox Code Playgroud)
和 fetchColumns() 是挂起的函数,我想也许我需要查询流???使用 flatMapMerge() 的方法是什么?
这是我的方法
void login(Event<?, ?> event);
我想知道在 Kotlin 中应该如何
fetchData()是suspendCoroutine函数,所以它是在其他线程上实现的。
viewModelScope绑定到Dispatchers.Main:这应该仅用于与 UI 交互和执行快速工作。
所以我应该delay()在Dispatcher.Main或者我应该搬出去了吗?
fun loadData() {
viewModelScope.launch {
delay(START_DELAY)
when (val result = fetchData()) {
is Response.Success<IData> -> {}
is Response.Failure -> {}
}
}
}
fun fetchData(){
return suspendCoroutine { cont ->}
}
Run Code Online (Sandbox Code Playgroud)