Код IT
← Каталог

Flow в Kotlin — Поиск по мере ввода — полный шаблон

Фрагмент из «Flow в Kotlin»: Поиск по мере ввода — полный шаблон.

Kotlin main.kt
val queryFlow: Flow<String> = textChanges()

val resultsFlow: Flow<List<Item>> =
    queryFlow
        .map { it.trim() }
        .debounce(300)
        .distinctUntilChanged()
        .flatMapLatest { query ->
            if (query.isBlank()) {
                flowOf(emptyList())
            } else {
                repository.search(query)
            }
        }
val queryFlow: Flow<String> = textChanges()

val resultsFlow: Flow<List<Item>> =
    queryFlow
        .map { it.trim() }
        .debounce(300)
        .distinctUntilChanged()
        .flatMapLatest { query ->
            if (query.isBlank()) {
                flowOf(emptyList())
            } else {
                repository.search(query)
            }
        }