Sobes.tech
Junior

¿Ejecuta el método data task de forma sincrónica o asíncrona?

sobes.tech AI

Respuesta de la IA

De manera asíncrona.

// URLSessionDataTask se ejecuta de forma asíncrona.
// Retorna el control inmediatamente,
// y el resultado (datos, respuesta, error) se pasa al manejador de finalización
// después de que la solicitud de red termina en un hilo de fondo.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Este bloque de código se ejecuta de forma asíncrona
    // después de recibir la respuesta del servidor o si ocurre un error.
    if let data = data {
        print("Datos recibidos: \(data.count) bytes")
    } else if let error = error {
        print("Error: \(error.localizedDescription)")
    }
}

// Iniciamos la tarea.
// El método resume() simplemente pone la tarea en la cola.
task.resume()

// El código después de task.resume() se ejecuta inmediatamente,
// sin esperar a que termine la solicitud de red.
print("Tarea iniciada...")