Sobes.tech
Junior — Senior
70

Определение, на каком диспетчере работают операции Flow

Компании, где спрашивали:

СовкомбанкСовкомбанк
Условие задачи

В примере используется поток intFlow, к которому последовательно применяются операции map, filter и single. Между этими операциями вызываются flowOn с разными диспетчерами (Dispatchers.IO и Dispatchers.Default). Нужно указать, в каком диспатчере будет выполнена каждая из операций map, filter и single.

withContext(Dispatchers.Main) {
    val singleValue = intFlow
        .map { /* где будет выполнен код? */ }
        .flowOn(Dispatchers.IO)
        .filter { /* где будет выполнен код? */ }
        .flowOn(Dispatchers.Default)
        .single() // а здесь?
}