Junior — Middle
Kas saab kasutada konstruktsiooni async/await teise meetodi sees?
sobes.tech AI
Vastus AI-lt
Swift (iOS) rakenduses kasutatakse async/await konstruktsiooni asünkroonse koodi töötlemiseks. Meetod, milles soovite kasutada await, peab olema deklareeritud kui async.
Ei ole võimalik lihtsalt kutsuda await tavalise (sünkroonse) meetodi sees ilma selle meetodi async-ks deklareerimiseta. Kuid, saate kutsuda asünkroonset meetodit teises asünkroonses meetodis.
Näide:
func fetchData() async -> String {
// asünkroonne operatsioon
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Kui peate kutsuma asünkroonset koodi sünkroonse meetodi seest, saate kasutada Task:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}