Título: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: Leguim en 3 Diciembre 2019, 17:04 pm Buenos días,
estoy teniendo problemas con un código... voy a resaltar que cada fragmento de código esta encerrado en $(document).ready (jQuery) Código
Hasta ahora lo hago con un time out pero yo se que esto no es una buena manera de hacerlo. Código
Otra cosa que se me ocurrió era: Código
la función es: Código
Pero tampoco funciona ya que al momento de ejecutar la función lo que va a recibir esa variable va a ser "undefined" o en el caso de que ponga una variable más arriba con un valor = false y más abajo en la parte success la cambie por true y luego en la parte de abajo (abajo de todo) return variable; va a devolver false... ya que al momento de asignarle el valor a esa variable no se completo la función lo que es igual a nada... ¿Alguna manera? Título: Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: EdePC en 4 Diciembre 2019, 01:27 am Saludos,
- Veo que sigues haciendo abuso del uso de $(document).ready(function(){...}); que abreviado y más utilizado en jQuery es: $(function(){...}); - Este es un evento sobre la carga de la página, no deberías de andar poniéndolo en en todo sitio XD, con uno solo en la página principal y ya. Si modificas la página sin recargarla (Ajax) el evento no se ejecuta. - Tu jQuery Ajax tiene especificado una configuración success: y luego tiene un callback .done, estos se ejecutan cuando Ajax a tenido éxito, solo deberías de usar uno de ellos. - Ten en cuenta que success: o .done se ejecutan cuando el Ajax tiene éxito, es decir, esto es lo que estás buscando y preguntando. Llama a la función o código que se deba ejecutar justo ahí, dicha función o código se ejecutará luego de haber finalizado exitosamente el Ajax. Título: Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: Agente Naranja en 5 Diciembre 2019, 07:46 am Es posible que puedas resolver tu problema usando Promesas:
https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Promise Por ejemplo: Código: function Change_Select_Ubication(parametro) { Basicamente lo que haces es que en tu función regresas una Promise, es un objeto que te permite esperar hasta que llamas la función "resolve" y al llamar esta función le estás diciendo "Ya terminé, con éxito". A esta promesa le puedes encadenar llamadas "then()" que se ejecutan solamente cuando la promesa finaliza con éxito. Título: Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: Leguim en 5 Diciembre 2019, 21:02 pm Es posible que puedas resolver tu problema usando Promesas: https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Promise Por ejemplo: Código: function Change_Select_Ubication(parametro) { Basicamente lo que haces es que en tu función regresas una Promise, es un objeto que te permite esperar hasta que llamas la función "resolve" y al llamar esta función le estás diciendo "Ya terminé, con éxito". A esta promesa le puedes encadenar llamadas "then()" que se ejecutan solamente cuando la promesa finaliza con éxito. ¡Hola! ¿Para que sirve "https://httpbin.org/get"? adentro hay Código
¿Para que serviría esto? Cuando me desocupe voy a probar el código que me pasaste y te digo... Muchas gracias! Título: Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: Leguim en 7 Diciembre 2019, 03:26 am Es posible que puedas resolver tu problema usando Promesas: https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Promise Por ejemplo: Código: function Change_Select_Ubication(parametro) { Basicamente lo que haces es que en tu función regresas una Promise, es un objeto que te permite esperar hasta que llamas la función "resolve" y al llamar esta función le estás diciendo "Ya terminé, con éxito". A esta promesa le puedes encadenar llamadas "then()" que se ejecutan solamente cuando la promesa finaliza con éxito. Logré solucionarlo gracias a tu código, ¡Muchas gracias, después de tanto ya pude hacerlo! ;-) Título: Re: [Pregunta]: Ejecutar función después de que se termine de completar otra (JS) Publicado por: Agente Naranja en 7 Diciembre 2019, 12:35 pm Me alegro que hayas solucionado el problema, por si quieres saberlo aún, la URL que usé era solamente una API de prueba, para confirmar que el código funcionaba cuando se hacía un ajax() de verdad y no simplemente simularlo usando un setTimeout(...), lo único que hice fue buscar una api pública, la información que devuelve es solamente de ejemplo :D
|