Sobes.tech
Junior — Middle

Kas saab kasutada konstruktsiooni async/await teise meetodi sees?

sobes.tech AI

Vastus AI-lt

Swift (iOS) rakenduses kasutatakse async/await konstruktsiooni asünkroonse koodi töötlemiseks. Meetod, milles soovite kasutada await, peab olema deklareeritud kui async.

Ei ole võimalik lihtsalt kutsuda await tavalise (sünkroonse) meetodi sees ilma selle meetodi async-ks deklareerimiseta. Kuid, saate kutsuda asünkroonset meetodit teises asünkroonses meetodis.

Näide:

func fetchData() async -> String {
    // asünkroonne operatsioon
    return "data"
}

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

Kui peate kutsuma asünkroonset koodi sünkroonse meetodi seest, saate kasutada Task:

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