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)")
}
}