Middle — Middle+
Wie kann man async/await verwenden, um Anfragen sequenziell auszuführen und den Vorgang nach der dritten Anfrage abzuschließen, ohne auf die vierte zu warten?
sobes.tech KI
Antwort von AI
Um sequenzielles Ausführen von Anfragen mit async/await und die Möglichkeit, den Prozess nach der dritten Anfrage abzubrechen, kann mit einer einfachen Schleife mit Ergebnisüberprüfung oder Zähler erfolgen. Zum Beispiel in Swift:
func performRequests() async {
for i in 1...4 {
let result = await makeRequest(number: i)
print("Anfrage \(i) abgeschlossen mit Ergebnis: \(result)")
if i == 3 {
print("Prozess nach der dritten Anfrage beenden")
break
}
}
}
func makeRequest(number: Int) async -> String {
// Simulation einer asynchronen Anfrage
try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 Sekunde
return "Antwort \(number)"
}
In diesem Beispiel werden die Anfragen sequenziell ausgeführt, weil await innerhalb der Schleife verwendet wird. Nach der dritten Anfrage wird die Schleife durch break unterbrochen, und die vierte Anfrage wird nicht ausgeführt.
Auf diese Weise ermöglicht async/await das Schreiben von asynchronem Code, der wie synchron aussieht, und erleichtert die Kontrolle der Ausführungslogik.