Sobes.tech
Junior — Middle

Se poate folosi construcția async/await în interiorul unei metode a altei metode?

sobes.tech AI

Răspuns de la AI

În Swift (iOS), construcția async/await este utilizată pentru a lucra cu cod asincron. Metoda în care dorești să folosești await trebuie să fie declarată ca async.

Nu poți pur și simplu să apelezi await într-o metodă normală (sincronă) fără a o declara ca async. Cu toate acestea, poți apela o metodă asincronă dintr-o altă metodă asincronă.

Exemplu:

func fetchData() async -> String {
    // operație asincronă
    return "data"
}

func process() async {
    let data = await fetchData()
    print(data)
}

Dacă trebuie să apelezi cod asincron dintr-o metodă sincronă, poți folosi Task:

func syncMethod() {
    Task {
        let data = await fetchData()
        print(data)
    }
}