Você precisa aguardar o suporte ao TypeScript 2.0 com async
/ await
para ES5, pois agora ele é compatível apenas com a compilação de TS para ES6.
Você seria capaz de criar uma função de atraso com async
:
function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
E chame
await delay(300);
Observe que você pode usar await
apenas a async
função interna .
Se você não puder ( digamos que esteja criando o aplicativo nodejs ), basta colocar seu código na async
função anônima . Aqui está um exemplo:
(async () => {
// Do something before delay
console.log('before delay')
await delay(1000);
// Do something after
console.log('after delay')
})();
Exemplo de aplicativo TS: https://github.com/v-andrew/ts-template
No OLD JS você tem que usar
setTimeout(YourFunctionName, Milliseconds);
ou
setTimeout( () => { /*Your Code*/ }, Milliseconds );
No entanto, com todos os principais navegadores de suporte async
/ await
é obsoleto.
Atualização: O TypeScript 2.1 está aqui com async/await
.
Apenas não esqueça que você precisa de Promise
implementação ao compilar no ES5, onde o Promise não está disponível nativamente.