Sobes.tech
Junior — Middle

Da li je moguće koristiti konstrukciju async/await unutar metode druge metode?

sobes.tech АИ

Одговор од АИ

U Swift (iOS), konstrukcija async/await se koristi za rad sa asinhronim kodom. Metod u kojem želite koristiti await mora biti deklarisan kao async.

Nije moguće jednostavno pozvati await unutar običnog (sinhronog) metoda bez deklarisanja te metode kao async. Međutim, možete pozvati asinhroni metod unutar drugog asinhronog metoda.

Primer:

func fetchData() async -> String {
    // asinhrona operacija
    return "data"
}

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

Ako je potrebno pozvati asinhroni kod iz sinhronog metoda, možete koristiti Task:

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