Sobes.tech
Junior — Middle

Pode explicar o que é programação assíncrona no contexto da construção Async/Await?

sobes.tech IA

Resposta da IA

A programação assíncrona usando Async/Await permite escrever código que realiza operações prolongadas (por exemplo, solicitações de rede ou leitura de ficheiros) sem bloquear o thread principal de execução. A ideia principal é que uma função marcada como async pode suspender a sua execução na instrução await, aguardando a conclusão de uma operação assíncrona, sem bloquear o thread.

Isto simplifica o trabalho com a assíncronia, tornando o código mais legível e semelhante a uma sequência, ao contrário de callbacks aninhados ou cadeias de promessas.

Exemplo em 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("Dados recebidos: \(data)")
    } catch {
        print("Erro: \(error)")
    }
}