Avatar ·

¿Cómo implementar una función sleep (retardo) en TypeScript?

¡Hola a todos! Soy un desarrollador principiante en TypeScript y Angular. Me encontré con la siguiente tarea: necesito hacer una pausa en la ejecución del código, por ejemplo, para simular la carga de datos o hacer un retardo antes de una nueva solicitud a la API. En JavaScript vi la función setTimeout, pero no bloquea la ejecución, solo pospone la llamada del callback. Necesito algo como sleep(2000), para que la ejecución del código se detenga durante 2 segundos y luego continúe. Esto es lo que probé: ```typescript function sleep(ms: number) { setTimeout(() => { // ¿debería pasar algo? }, ms); } async function loadData() { console.log('Comenzando carga...'); sleep(2000); // quiero esperar 2 segundos console.log('Datos cargados'); // esto se ejecuta inmediatamente } ``` Pero el código no funciona — el segundo console.log se ejecuta inmediatamente, sin retardo. ¿Cómo implementar correctamente sleep en TypeScript? ¿Necesito usar Promise o async/await? Agradecería ejemplos con explicaciones. Preferiblemente