Vous devez attendre TypeScript 2.0 avec async/ awaitpour 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 awaitque la asyncfonction interne .
Si vous ne pouvez pas ( disons que vous créez une application nodejs ), placez simplement votre code dans une asyncfonction 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/ awaitil est obsolète.
Mise à jour: TypeScript 2.1 est là avec async/await.
N'oubliez pas que vous avez besoin d'une Promiseimplémentation lorsque vous compilez vers ES5, où Promise n'est pas disponible nativement.