Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

Асинхронното програмиране с използване на Async/Await позволява писането на код, който изпълнява дълги операции (например мрежови заявки или четене на файлове) без да блокира основния поток за изпълнение. Основната идея е, че функция, маркирана като async, може да спре изпълнението си на оператора await, очаквайки завършването на асинхронна операция, без да блокира нишката.

Това улеснява работата с асинхронността, прави кода по-лесен за четене и прилича на последователен, за разлика от вложените callback-и или вериги от промиси.

Пример на 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)")
    }
}