在我的代码中,这个函数从房间数据库中检索抽认卡列表。我知道,如果没有匹配传入函数的要求的抽认卡,则会返回一个空列表。但是我们设置了一个初始值,所以不应该返回初始值而不是一个空列表吗?任何帮助将不胜感激。
检索抽认卡的函数:
fun getFlaggedFlashcardsFilteredByTopic(topic: String): StateFlow<List<Flashcard>> {
return flashcardsRepository.getFlaggedFlashcardsStreamFilteredByTopic(topic = topic)
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(timeoutMillis),
initialValue = listOf(Flashcard())
)
}
1条答案
按热度按时间axr492tv1#
是否应该返回初始值而不是空列表?
不,不应该。在结果为空的情况下,初始值不是某种默认值。使用初始值直到从数据库中获取真实的值,并且如果没有抽认卡,则预计将获得空列表。