Действительно ли необходимо использовать поток при подписании в Firebase?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Действительно ли необходимо использовать поток при подписании в Firebase?

Сообщение Anonymous »

У меня есть операция, чтобы войти в Firebase: < /p>

Код: Выделить всё

suspend fun signIn(user: String, pass: String): Response
И я называю это Signin в ViewModel, как это:
class AuthViewModel @Inject constructor(
private val repo: AuthRepository
): ViewModel() {
private val _signInResponse = MutableStateFlow(null)
val signInResponse: StateFlow = _signInResponse.asStateFlow()

fun signIn(user: String, pass: String) = viewModelScope.launch {
_signInResponse.value = Response.Loading
_signInResponse.value = repo.signIn(user, pass)
}
}
< /code>
Реализация функции выглядит следующим образом: < /p>
override suspend fun signIn(user: String, pass: String) = try {
auth.signIn(user, pass).await()
Response.Success(Unit)
} catch (ex: Exception) {
Response.Failure(ex)
}
< /code>
, который работает нормально. Тем не менее, мне трудно понять, зачем использовать или не использовать поток, и излучать результат: < /p>
override suspend fun signIn(user: String, pass: String) = flow {
try {
auth.signIn(user, pass).await()
emit(Response.Success(Unit))
} catch (e: Exception) {
emit(Response.Failure(e))
}
}
< /code>
Правильно ли использовать поток? Или не требуется, поскольку операция в регистрации происходит только один раз? Кроме того, рекомендуется ли использовать mutablestateflow или sharedflow?

Подробнее здесь: https://stackoverflow.com/questions/794 ... n-firebase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»