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.