Middle — Middle+
Kā izmantot async/await, lai secīgi veiktu pieprasījumus ar iespēju pabeigt procesu pēc trešā pieprasījuma, nesagaidot ceturto?
sobes.tech AI
Atbilde no AI
Lai veiktu secīgi pieprasījumus, izmantojot async/await un iespēju pārtraukt procesu pēc trešā pieprasījuma, var izmantot vienkāršu ciklu ar rezultāta vai skaitītāja pārbaudi. Piemēram, Swift:
func performRequests() async {
for i in 1...4 {
let result = await makeRequest(number: i)
print("Pieprasījums \(i) pabeigts ar rezultātu: \(result)")
if i == 3 {
print("Procesa pārtraukšana pēc trešā pieprasījuma")
break
}
}
}
func makeRequest(number: Int) async -> String {
// Asinhronās pieprasījuma imitācija
try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 sekunde
return "Atbilde \(number)"
}
Šajā piemērā pieprasījumi tiek veikti secīgi, jo mēs izmantojam await cikla iekšpusē. Pēc trešā pieprasījuma cikls tiek pārtraukts ar break, un ceturtais pieprasījums netiek veikts.
Tādējādi, async/await ļauj rakstīt asinhronu kodu, kas izskatās kā sinhrons, un viegli kontrolēt izpildes loģiku.