Avatar ·

¿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.