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