Sobes.tech
Junior — Middle

Kas sa saad seletada, mis on asünkrooniline programmeerimine Async/Await-struktuuri kontekstis?

sobes.tech AI

Vastus AI-lt

Async/Await kasutamine võimaldab kirjutada koodi, mis teostab pikaajalisi operatsioone (näiteks võrgupäringuid või failide lugemist) ilma, et blokeeriks peamise täitmisvoo. Põhitees on, et async märgitud funktsioon võib peatada oma täitmise await käsu juures, oodates asünkroonse operatsiooni lõpetamist, ilma et see blokeeriks voogu.

See lihtsustab asünkroonsusega töötamist, muudab koodi loetavamaks ja sarnaneb järjestikusele täitmisele, erinevalt sisestatud tagasikutsumistest või lubaduste ahelatest.

Näide Swiftis:

func fetchData() async throws -> Data {
    let url = URL(string: "https://example.com/data.json")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return data
}

Task {
    do {
        let data = try await fetchData()
        print("Andmed saadud: \(data)")
    } catch {
        print("Viga: \(error)")
    }
}