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