Middle — Middle+
Comment peut-on utiliser async/await pour exécuter des requêtes de manière séquentielle avec la possibilité de terminer le processus après la troisième requête, sans attendre la quatrième ?
sobes.tech IA
Réponse de l'IA
Pour effectuer des requêtes séquentielles en utilisant async/await et avoir la possibilité d’interrompre le processus après la troisième requête, vous pouvez utiliser une boucle simple avec une vérification du résultat ou un compteur. Par exemple, en Swift :
func performRequests() async {
for i in 1...4 {
let result = await makeRequest(number: i)
print("Requête \(i) terminée avec le résultat : \(result)")
if i == 3 {
print("Arrêt du processus après la troisième requête")
break
}
}
}
func makeRequest(number: Int) async -> String {
// Simulation d’une requête asynchrone
try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 seconde
return "Réponse \(number)"
}
Dans cet exemple, les requêtes sont effectuées de manière séquentielle car nous utilisons await à l’intérieur de la boucle. Après la troisième requête, la boucle est interrompue par l’instruction break, et la quatrième requête n’est pas exécutée.
Ainsi, async/await permet d’écrire un code asynchrone qui ressemble à du synchrone, tout en contrôlant facilement la logique d’exécution.