Como fazer uma pausa (sleep) em JavaScript? Preciso de um análogo do sleep() de outras linguagens
Olá a todos! Sou novo em JavaScript, vim do Python, e me deparei com um problema. Em Python, eu usava frequentemente `time.sleep(2)` para pausar a execução do programa, por exemplo, ao trabalhar com APIs para não exceder o limite de requisições, ou em animações no console.
Em JavaScript, tentei escrever algo parecido:
```javascript
function sleep(ms) {
// ?????
}
console.log("Começando");
sleep(2000);
console.log("Passaram-se 2 segundos");
```
Mas não consigo encontrar uma função `sleep()` embutida. Tentei usar `setTimeout`, mas ele não interrompe a execução do código, apenas adia a chamada do callback. No final, a mensagem "Passaram-se 2 segundos" é exibida imediatamente, e não após 2 segundos.
Digam-me, como implementar corretamente um delay em JavaScript? Preciso que o código execute sequencialmente: primeiro exiba "Começando", depois uma pausa de 2 segundos, e só então exiba "Passaram-se 2 segundos". De preferência, que a solução seja moderna e funcione no browser e no Node.js. Desde já agradeço.