Junior — Middle
Lze konstrukci async/await použít uvnitř metody jiné metody?
sobes.tech AI
Odpověď od AI
Ve Swift (iOS) se používá konstrukce async/await pro práci s asynchronním kódem. Metoda, ve které chcete použít await, musí být deklarována jako async.
Nelze jednoduše zavolat await uvnitř běžné (synchronní) metody bez jejího označení jako async. Nicméně, můžete zavolat asynchronní metodu uvnitř jiné asynchronní metody.
Příklad:
func fetchData() async -> String {
// asynchronní operace
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Pokud je potřeba zavolat asynchronní kód ze synchronní metody, lze použít Task:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}