Назад к вопросам
Junior — Middle
64
Как организовать выполнение пяти одновременных запросов к справочникам и получить все результаты, прежде чем завершить метод?
Компании, где спрашивали
Rostic's
Ответ от нейросети
sobes.tech AI
Для выполнения пяти одновременных запросов к справочникам в Android можно использовать Kotlin Coroutines с функцией async для параллельного запуска и awaitAll для ожидания всех результатов. Это позволяет запустить запросы одновременно и дождаться их завершения перед продолжением работы метода.
Пример:
import kotlinx.coroutines.*
suspend fun fetchAllDirectories(): List<ResultType> = coroutineScope {
val deferredList = listOf(
async { fetchDirectory1() },
async { fetchDirectory2() },
async { fetchDirectory3() },
async { fetchDirectory4() },
async { fetchDirectory5() }
)
deferredList.awaitAll() // Ждем завершения всех запросов и получаем результаты
}
suspend fun fetchDirectory1(): ResultType {
// реализация запроса
}
// Аналогично для других fetchDirectoryN
Такой подход эффективен и не блокирует основной поток, что важно для Android-приложений.