Junior — Middle
Je možné použiť konštrukciu async/await vnútri metódy inej metódy?
sobes.tech AI
Odpoveď od AI
V Swift (iOS) sa konstrukcia async/await sa používa na prácu s asynchrónnym kódom. Metóda, v ktorej chcete použiť await, musí byť deklarovaná ako async.
Nemôžete jednoducho zavolať await v bežnej (synchronnej) metóde bez jej deklarácie ako async. Avšak, môžete zavolať asynchrónnu metódu v rámci inej asynchrónnej metódy.
Príklad:
func fetchData() async -> String {
// asynchrónna operácia
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Ak je potrebné zavolať asynchrónny kód zo synchronnej metódy, môžete použiť Task:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}