Назад к вопросам
Junior — Middle
66
Как осуществить выполнение двух запросов один за другим, передавая токен для авторизации, и получить оба результата одновременно?
Компании, где спрашивали
Rostic's
Ответ от нейросети
sobes.tech AI
Для последовательного выполнения двух запросов с передачей токена и получения обоих результатов одновременно можно использовать корутины или RxJava (в Android).
Пример с Kotlin Coroutines и Retrofit:
suspend fun fetchData(token: String): Pair<Response1, Response2> {
val response1 = api.getFirstData("Bearer $token")
val response2 = api.getSecondData("Bearer $token")
return Pair(response1, response2)
}
Если нужно выполнить запросы параллельно и дождаться обоих результатов:
suspend fun fetchDataParallel(token: String): Pair<Response1, Response2> = coroutineScope {
val deferred1 = async { api.getFirstData("Bearer $token") }
val deferred2 = async { api.getSecondData("Bearer $token") }
Pair(deferred1.await(), deferred2.await())
}
В обоих случаях токен передаётся в заголовке авторизации. Такой подход позволяет получить оба результата и обработать их вместе.