¿Cómo hacer una pausa (sleep) en JavaScript? Necesito un análogo de sleep() de otros lenguajes
¡Hola a todos! Soy nuevo en JavaScript, vengo de Python y me encontré con un problema. En Python solía usar `time.sleep(2)` para pausar la ejecución del programa, por ejemplo, al trabajar con APIs para no exceder el límite de solicitudes, o en animaciones en consola.
En JavaScript intenté escribir algo similar:
```javascript
function sleep(ms) {
// ?????
}
console.log("Empezamos");
sleep(2000);
console.log("Pasaron 2 segundos");
```
Pero no puedo encontrar una función `sleep()` incorporada. Intenté usar `setTimeout`, pero no detiene la ejecución del código, solo pospone la llamada al callback. Como resultado, el mensaje "Pasaron 2 segundos" se muestra inmediatamente, no después de 2 segundos.
¿Podrían indicarme cómo implementar correctamente un retardo en JavaScript? Necesito que el código se ejecute secuencialmente: primero que se muestre "Empezamos", luego una pausa de 2 segundos, y solo después que se muestre "Pasaron 2 segundos". Preferiblemente, que la solución sea moderna y funcione en el navegador y Node.js. Gracias de antemano.