Avatar ·

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.