Vous devez attendre TypeScript 2.0 avec async
/ await
pour la prise en charge d'ES5 car il n'est désormais pris en charge que pour la compilation TS vers ES6.
Vous seriez en mesure de créer une fonction de retard avec async
:
function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
Et appelle ça
await delay(300);
Veuillez noter que vous ne pouvez utiliser await
que la async
fonction interne .
Si vous ne pouvez pas ( disons que vous créez une application nodejs ), placez simplement votre code dans une async
fonction anonyme . Voici un exemple:
(async () => {
// Do something before delay
console.log('before delay')
await delay(1000);
// Do something after
console.log('after delay')
})();
Exemple d'application TS: https://github.com/v-andrew/ts-template
Dans OLD JS, vous devez utiliser
setTimeout(YourFunctionName, Milliseconds);
ou
setTimeout( () => { /*Your Code*/ }, Milliseconds );
Cependant, avec tous les principaux navigateurs prenant en charge async
/ await
il est obsolète.
Mise à jour: TypeScript 2.1 est là avec async/await
.
N'oubliez pas que vous avez besoin d'une Promise
implémentation lorsque vous compilez vers ES5, où Promise n'est pas disponible nativement.