android 为什么这个函数返回一个空列表?

bcs8qyzn  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(101)

在我的代码中,这个函数从房间数据库中检索抽认卡列表。我知道,如果没有匹配传入函数的要求的抽认卡,则会返回一个空列表。但是我们设置了一个初始值,所以不应该返回初始值而不是一个空列表吗?任何帮助将不胜感激。
检索抽认卡的函数:

fun getFlaggedFlashcardsFilteredByTopic(topic: String): StateFlow<List<Flashcard>> {
        return flashcardsRepository.getFlaggedFlashcardsStreamFilteredByTopic(topic = topic)
            .stateIn(
                scope = viewModelScope,
                started = SharingStarted.WhileSubscribed(timeoutMillis),
                initialValue = listOf(Flashcard())
            )
    }
axr492tv

axr492tv1#

是否应该返回初始值而不是空列表?
不,不应该。在结果为空的情况下,初始值不是某种默认值。使用初始值直到从数据库中获取真实的值,并且如果没有抽认卡,则预计将获得空列表。

相关问题