elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?  (Leído 3,681 veces)
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« en: 5 Diciembre 2017, 20:58 pm »

Bueno realmente esto me tiene harto.

Tengo unos dias buscando una solucion para realizar la funcion sleep en javascript y que funcione en  Internet Explorer.

Mi solucion anterior fue usar promesas y funciona de maravilla, pero el detalle que tengo unos patrones que no salen de la edad de piedra y siguen usando Internet Explorer, no quieren usar Chrome por nada del mundo.

Solución anterior:

Código
  1. function sleep(ms) {
  2.    return new Promise(resolve => setTimeout(resolve, ms));
  3. }
  4.  

Funciona al 100 en Crome y otros navegadores mas actualizados pero no sirve ni en Internet Explorer 11. Marca error por que no reconoce las parabras para await y async y no reconoce la sintaxis de => para el resolve....

Ahora tome de stack overflow el siguiente código.

https://stackoverflow.com/questions/36016327/how-to-make-promises-work-in-ie11

y NO FUNCIONA

Código
  1. function sleep(ms) {
  2.    tiempo = ms;
  3.    return new Promise(function(resolve) {
  4.        setTimeout(function() {
  5.            resolve("result");
  6.        }, tiempo);
  7.    });
  8. }
  9.  
  10.  

Este si reconoce la sintaxis de la funcione, pero de todos modos sigue marcando error en los async y await.

Ya intente, genera una peticion async = false al Servidor para que el servidor realizare el tiempo de espera, pero no es respetado por los navegadores.

Tambien he intentado y NO FUNCIONA

Código
  1.      function sleep(delay) {
  2.        var start = new Date().getTime();
  3.        while (new Date().getTime() < start + delay);
  4.      }
  5.  

Tomado de: https://eureka.ykyuen.info/2011/02/20/javascript-sleep-function/

Alguno de ustedes tiene algo de experiencia con esto.

Saludos!


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #1 en: 5 Diciembre 2017, 21:12 pm »

Intentar usar sleep es una mala idea dado que el resultado puede ser impredecible pues estas yendo en contra del lenguaje por no hablar del uso intensivo del CPU que causa.

Pregúntate si realmente necesitas un sleep o lo puedes solventar de manera asíncrona.

Saludos


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #2 en: 5 Diciembre 2017, 21:27 pm »

Intentar usar sleep es una mala idea dado que el resultado puede ser impredecible pues estas yendo en contra del lenguaje por no hablar del uso intensivo del CPU que causa.

precisamente estoy usando sleep para esperar que una variable que se define mediante jquery este lista, valido mientras la variable sea igual a nulll, realizo una espera de 100 ms.

Pregúntate si realmente necesitas un sleep o lo puedes solventar de manera asíncrona.

Si puedo a hacerlo pero tendría que reescribir el código del lado del servidor y cambiar un poco el formato de las respuesta que este envía, esta solución me parece la mas "formal" y todo eso, solo quería evitar rescribir el código, pero por lo que veo terminare haciendo esto.

Saludos!
En línea

Izgah

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #3 en: 14 Diciembre 2017, 12:18 pm »

La idea es cambiar una variable esperando una respuesta del servidor... y por qué no usar promesas?
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #4 en: 9 Enero 2018, 05:53 am »

Por compatibilidad con IE9
En línea

dfr4gm4

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #5 en: 12 Enero 2018, 13:54 pm »

Hola.

Si te da error porque no reconoce el await o async es porque estás intentando usar ES6 directamente en el navegador, te recomiendo que uses webpack para generar tu código en ES5 y puedas servirlo en la mayoria de navegadores.

https://webpack.js.org/

Saludos.
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #6 en: 12 Enero 2018, 16:10 pm »

Yo usaria el polyfill de Babel como en la respuesta de stackoverflow, no tengo como reproducir el codigo sin una maquina virtual, me da paja  :rolleyes:
« Última modificación: 12 Enero 2018, 17:54 pm por EFEX » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Alguna solucion para realizar sleep en IE9 o IE11? sin promesas?
« Respuesta #7 en: 12 Enero 2018, 17:26 pm »

Y si en vez de hacer un sleep utilizas un setTimeout y metes el código que tengas que ejecutar luego dentro? Sería la forma de hacerlo, ya que el código debe ser asíncrono.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
alguna solucion para el cambio de sigma x2?
Redes
jnfajardo 0 2,353 Último mensaje 27 Abril 2010, 20:05 pm
por jnfajardo
¿¿¿ Alguna Solucion nueva para descifrar las WPA ???
Wireless en Linux
avisador 4 4,487 Último mensaje 25 Abril 2011, 15:55 pm
por |FluiD|
Alguna solución??
Hacking Wireless
xpuns 3 3,253 Último mensaje 20 Diciembre 2017, 22:06 pm
por El_Andaluz
Alguna duda o pregunta que quieran realizar?
Dudas Generales
White_Hunter117 7 3,691 Último mensaje 10 Enero 2021, 04:54 am
por Tachikomaia
sistema web venta de loteria php 5 laravel alguna solucion para limites por cada hora de sorteo
PHP
thelabml 0 2,526 Último mensaje 3 Marzo 2023, 20:14 pm
por thelabml
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines