Usted tiene que esperar a que mecanografiado 2.0 con async
/ await
para el apoyo ES5 ya que ahora soporta sólo para TS a la compilación ES6.
Podrías crear una función de retraso con async
:
function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
Y llámalo
await delay(300);
Tenga en cuenta que await
solo puede usar la async
función interna .
Si no puede ( digamos que está creando una aplicación nodejs ), simplemente coloque su código en una async
función anónima . Aquí hay un ejemplo:
(async () => {
// Do something before delay
console.log('before delay')
await delay(1000);
// Do something after
console.log('after delay')
})();
Aplicación de ejemplo de TS: https://github.com/v-andrew/ts-template
En OLD JS tienes que usar
setTimeout(YourFunctionName, Milliseconds);
o
setTimeout( () => { /*Your Code*/ }, Milliseconds );
Sin embargo, con todos los principales navegadores compatibles async
/ await
es obsoleto.
Actualización: TypeScript 2.1 está aquí con async/await
.
Simplemente no olvide que necesita Promise
implementación cuando compila a ES5, donde Promise no está disponible de forma nativa.