Sobes.tech
Middle

¿Cuál es el papel del operador future en programación?

sobes.tech AI

Respuesta de la IA

El operador future en programación representa un objeto que se utiliza para obtener el resultado de una operación asíncrona en el futuro. Permite iniciar una tarea que se ejecuta en paralelo o de forma asíncrona, y luego obtener su resultado cuando esté disponible.

Rol de future:

  • Permite no bloquear el hilo principal, esperando a que la tarea termine.
  • Proporciona un mecanismo de sincronización y obtención del resultado.
  • Se usa a menudo junto con promise u otros mecanismos para transmitir el resultado.

Ejemplo en Swift usando Future de Combine:

import Combine

func fetchData() -> Future<String, Error> {
    return Future { promise in
        DispatchQueue.global().async {
            // simulación de una solicitud de red
            let data = "Datos"
            promise(.success(data))
        }
    }
}

let future = fetchData()
let cancellable = future.sink(receiveCompletion: { completion in
    switch completion {
    case .finished:
        print("Completado")
    case .failure(let error):
        print("Error: \(error)")
    }
}, receiveValue: { value in
    print("Valor recibido: \(value)")
})

De esta manera, future ayuda a organizar el código asíncrono de una manera más conveniente y legible.