Value和Emit之间的MuableStateFlow差异 [英] MutableStateFlow difference between value and emit

查看:15
本文介绍了Value和Emit之间的MuableStateFlow差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MuableStateFlow上使用Value End Emit Fun有什么区别?

fun main() = runBlocking {

    val mutable = MutableStateFlow(0)

    launch {
        mutable.collect {
            println(it)
        }
    }

    mutable.value = 1
    mutable.emit(2)
}

推荐答案

emit()是一个挂起函数,用于包装用于设置值的调用:

override suspend fun emit(value: T) {
    this.value = value
}

所以不同之处在于value允许您即使不在协程中也可以设置值。emit()存在,因此MuableStateFlow可以从MuableSharedFlow继承。

Source code here.

这篇关于Value和Emit之间的MuableStateFlow差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆