Como implementar a função sleep (atraso) em TypeScript?
Olá a todos! Sou um desenvolvedor iniciante em TypeScript e Angular. Encontrei o seguinte problema: preciso fazer uma pausa na execução do código, por exemplo, para simular o carregamento de dados ou criar um atraso antes de uma nova requisição à API.
Em JavaScript, vi a função setTimeout, mas ela não bloqueia a execução, apenas adia a chamada do callback. Preciso de algo como sleep(2000), para que a execução do código pare por 2 segundos e depois continue.
Aqui está o que tentei:
```typescript
function sleep(ms: number) {
setTimeout(() => {
// algo deve acontecer?
}, ms);
}
async function loadData() {
console.log('Iniciando carregamento...');
sleep(2000); // quero esperar 2 segundos
console.log('Dados carregados'); // isso é executado imediatamente
}
```
Mas o código não funciona — o segundo console.log é executado imediatamente, sem atraso. Como implementar corretamente o sleep em TypeScript? Preciso usar Promise ou async/await? Agradeço por exemplos com explicações.
De preferência