Sobes.tech
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)
    }
}