Estoy desarrollando un sitio web en Angular 2 usando Typecript y me preguntaba si había una manera de implementar la thread.sleep(ms)funcionalidad.
Mi caso de uso es redirigir a los usuarios después de enviar un formulario después de unos segundos, lo cual es muy fácil en html o javascript, pero no estoy seguro de cómo hacerlo en Typecript.
Muchas gracias,
angular
typescript
kha
fuente
fuente

Respuestas:
Usted tiene que esperar a que mecanografiado 2.0 con
async/awaitpara 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:Y llámalo
Tenga en cuenta que
awaitsolo puede usar laasyncfunción interna .Si no puede ( digamos que está creando una aplicación nodejs ), simplemente coloque su código en una
asyncfunción anónima . Aquí hay un ejemplo:Aplicación de ejemplo de TS: https://github.com/v-andrew/ts-template
En OLD JS tienes que usar
o
Sin embargo, con todos los principales navegadores compatibles
async/awaites obsoleto.Simplemente no olvide que necesita
Promiseimplementación cuando compila a ES5, donde Promise no está disponible de forma nativa.fuente
await new Promise(resolve => setTimeout(resolve, 1000)).then(()=>console.log("fired"));pero funcionóawait new Promise(resolve => setTimeout(()=>resolve(), 1000)).then(()=>console.log("fired"));asyncfunción. Agregué un ejemploEsto funciona: (gracias a los comentarios)
fuente
Por alguna razón, la respuesta aceptada anteriormente no funciona en Nuevas versiones de Angular (V6).
para eso usa esto ..
arriba funcionó para mí.
Uso:
O una forma más precisa
fuente
Con
RxJS:xes 0.Si le da un segundo argumento
periodatimer, se emitirá un nuevo número cadaperiodmilisegundos (x = 0 y luego x = 1, x = 2, ...).Vea el documento oficial para más detalles.
fuente
Si está utilizando angular5 y superior, incluya el siguiente método en su archivo ts.
luego llame a este método delay () donde quiera.
p.ej:
Esto desaparecerá gruñendo el mensaje después de 3 segundos.
fuente
esto funciona mejor para mi
fuente
O en lugar de declarar una función, simplemente:
fuente