Sie müssen auf TypeScript 2.0 mit async/ awaitfür ES5-Unterstützung warten, da es jetzt nur für die Kompilierung von TS zu ES6 unterstützt wird.
Sie können eine Verzögerungsfunktion erstellen mit async:
function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
Und nenn es
await delay(300);
Bitte beachten Sie, dass Sie awaitnur die Innenfunktion verwenden asynckönnen.
Wenn Sie dies nicht können ( sagen wir, Sie erstellen eine NodeJS-Anwendung ), platzieren Sie Ihren Code einfach in einer anonymen asyncFunktion. Hier ist ein Beispiel:
(async () => {
// Do something before delay
console.log('before delay')
await delay(1000);
// Do something after
console.log('after delay')
})();
Beispiel für eine TS-Anwendung: https://github.com/v-andrew/ts-template
In OLD JS müssen Sie verwenden
setTimeout(YourFunctionName, Milliseconds);
oder
setTimeout( () => { /*Your Code*/ }, Milliseconds );
Jedoch mit jedem großen Browser, der unterstützt async/ awaites ist veraltet.
Update: TypeScript 2.1 ist hier mit async/await.
Vergessen Sie jedoch nicht, dass Sie Promisebeim Kompilieren auf ES5 eine Implementierung benötigen, bei der Promise nicht nativ verfügbar ist.