Sobes.tech
Middle

Qual é o papel do operador future na programação?

sobes.tech IA

Resposta da IA

O operador future na programação representa um objeto que serve para obter o resultado de uma operação assíncrona no futuro. Ele permite iniciar uma tarefa que é executada em paralelo ou de forma assíncrona, e posteriormente obter o seu resultado quando estiver disponível.

Papel do future:

  • Permite não bloquear o thread principal, aguardando a conclusão da tarefa.
  • Fornece um mecanismo de sincronização e obtenção do resultado.
  • É frequentemente usado junto com promise ou outros mecanismos para transmitir o resultado.

Exemplo em Swift usando Future do Combine:

import Combine

func fetchData() -> Future<String, Error> {
    return Future { promise in
        DispatchQueue.global().async {
            // simulação de uma requisição de rede
            let data = "Dados"
            promise(.success(data))
        }
    }
}

let future = fetchData()
let cancellable = future.sink(receiveCompletion: { completion in
    switch completion {
    case .finished:
        print("Concluído")
    case .failure(let error):
        print("Erro: \(error)")
    }
}, receiveValue: { value in
    print("Valor recebido: \(value)")
})

Assim, future ajuda a organizar o código assíncrono de uma forma mais conveniente e legível.