Junior — Middle
Wie führt man die Ausführung von zwei Anfragen nacheinander durch, indem man ein Token für die Autorisierung übergibt, und erhält beide Ergebnisse gleichzeitig?
sobes.tech KI
Antwort von 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())
}
В обоих случаях токен передаётся в заголовке авторизации. Такой подход позволяет получить оба результата и обработать их вместе.