Avatar ·

Como fazer uma pausa (sleep) em JavaScript? Análogo ao sleep() de outras linguagens

Olá! Sou novo em JavaScript, vindo do Python e PHP. Lá existe a função útil sleep(), que pausa a execução do código por um número determinado de segundos. Por exemplo: ```python print("Início") time.sleep(3) print("Passaram-se 3 segundos") ``` Em JavaScript, tentei escrever algo parecido: ```javascript console.log("Início"); setTimeout(() => {}, 3000); // Esperava que isso funcionasse console.log("Passaram-se 3 segundos"); ``` Mas o código executa instantaneamente, sem atraso. Entendo que setTimeout é uma função assíncrona, mas como faço uma pausa síncrona simples, para que o código pare e espere? Vi que existem funções como `sleep` no Node.js, mas elas não funcionam no navegador. Tentei loops while com verificação de tempo, mas eles travam o navegador. Diga-me como organizar corretamente um delay em JavaScript, para que o código espere o tempo necessário e depois continue a execução? Preferencialmente com exemplos para navegador e Node.js.