Sobes.tech
Junior — Middle

Можете ли да објасните шта је асинхроно програмирање у контексту конструкције Async/Await?

sobes.tech АИ

Одговор од АИ

Асимхронно програмирање са коришћењем Async/Await омогућава писање кода који извршава дуготрајне операције (нпр. мрежне захтеве или читање фајлова) без блокирања главног тока извршавања. Кључна идеја је да функција означена као async може привремено зауставити своје извршавање на наредби await, чекајући завршетак асинхроне операције, а да при том не блокира ток.

Ово поједностављује рад са асинхроношћу, чини код читљивијим и сличнијим секвенцијалном, за разлику од угнездних повратних позива или ланаца промиса.

Пример у Swift-у:

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("Датум примљен: \(data)")
    } catch {
        print("Грешка: \(error)")
    }
}