Sobes.tech
Назад к вопросам
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())
}

В обоих случаях токен передаётся в заголовке авторизации. Такой подход позволяет получить оба результата и обработать их вместе.