¿Cómo hacer una pausa (sleep) en JavaScript? Análogo de sleep() de otros lenguajes
¡Hola! Soy nuevo en JavaScript y vengo de Python y PHP. Allí hay una función útil sleep() que pausa la ejecución del código durante un número determinado de segundos. Por ejemplo:
```python
print("Inicio")
time.sleep(3)
print("Pasaron 3 segundos")
```
En JavaScript intenté escribir algo similar:
```javascript
console.log("Inicio");
setTimeout(() => {}, 3000); // Esperaba que esto funcionara
console.log("Pasaron 3 segundos");
```
Pero el código se ejecuta instantáneamente, sin retraso. Entiendo que setTimeout es una función asíncrona, pero ¿cómo puedo hacer una pausa síncrona simple para que el código se detenga y espere? Vi que hay funciones como `sleep` en Node.js, pero no funcionan en el navegador. Probé bucles while con verificación de tiempo, pero cuelgan el navegador.
Indíquenme cómo organizar correctamente un retraso en JavaScript para que el código espere el tiempo necesario y luego continúe la ejecución. Preferiblemente con ejemplos para el navegador y Node.js.