emit()
is a suspend function that wraps a call to set the value:
override suspend fun emit(value: T) {
this.value = value
}
So the difference is that value
lets you set the value even when not in a coroutine. emit()
exists so MutableStateFlow can inherit from MutableSharedFlow.
Source code here.