Middle — Middle+
როგორ შეიძლება გამოიყენოს async/await სერიული მოთხოვნების შესასრულებლად, პროცესის დასრულება მესამე მოთხოვნის შემდეგ, მოლოდინის გარეშე მეოთხედის?
sobes.tech AI
პასუხი AI-სგან
Async/await გამოყენებით სერიული მოთხოვნების შესრულება და პროცესის გაჩერების შესაძლებლობა მესამე მოთხოვნის შემდეგ, შესაძლებელია გამოიყენოს მარტივი ციკლი შედეგის ან გამოთვლით კონტროლით. მაგალითად, Swift-ში:
func performRequests() async {
for i in 1...4 {
let result = await makeRequest(number: i)
print("მოთხოვნა \(i) დასრულდა შედეგით: \(result)")
if i == 3 {
print("პროცესი დასრულებულია მესამე მოთხოვნის შემდეგ")
break
}
}
}
func makeRequest(number: Int) async -> String {
// ასინქრონული მოთხოვნის იმიტაცია
try? await Task.sleep(nanoseconds: 1_000_000_000) // 1 წამი
return "პასუხი \(number)"
}
ამ მაგალითში მოთხოვნები შესრულდება სერიულად, რადგან ვიყენებთ await ციკლში. მესამე მოთხოვნის შემდეგ, ციკლი შეწყდება ბრძანებით break, და მეოთხე მოთხოვნა არ შესრულდება.
ამ გზით, async/await საშუალებას აძლევს დაწეროთ ასინქრონული კოდი, რომელიც გამოიყურება როგორც სინქრონი, და ადვილად აკონტროლოთ შესრულების ლოგიკა.