Sobes.tech
Junior — Middle

Comment effectuer l'exécution de deux requêtes l'une après l'autre, en transmettant un jeton pour l'autorisation, et obtenir les deux résultats en même temps?

sobes.tech IA

Réponse de l'IA

Для последовательного выполнения двух запросов с передачей токена и получения обоих результатов одновременно можно использовать корутины или 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())
}

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