Foros del Web » Programando para Internet » Javascript »

Externalizar los callbacks

Estas en el tema de Externalizar los callbacks en el foro de Javascript en Foros del Web. Buenas a todos, Estoy empezando a usar los callbacks, pero lo hago de forma bastante aburrida. Simplemente envio entre los parametros que envio a una ...
  #1 (permalink)  
Antiguo 29/07/2013, 19:31
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Externalizar los callbacks

Buenas a todos,

Estoy empezando a usar los callbacks, pero lo hago de forma bastante aburrida. Simplemente envio entre los parametros que envio a una determinada funcion uno llamado "callback" que es ejecutado con un eval en la ultima linea de la funcion llamada.

Mi pesamiento me dice que es una forma "cutre" de hacerlo, pues tengo que modificar las funciones en las que quiero usar un callback.

Me pregunto si existe alguna forma de hacerlo asi:

Código Javascript:
Ver original
  1. function mifuncion()
  2. {
  3. //animacion:
  4. animacionmuychula();
  5. //ahora se ha terminado la animacion:
  6. realizollamadaajax();
  7.  
  8. }

Mi ejemplo es muy cutre, pero quiero hacer algo parecido, sin tener que enviar a animacionmuychula() un parametro con "realizollamadaajax".

No se si me explico, he leido resultados de google sobre callbacks... y en todos veo que usan parametros, lo cual para mi es una locura.

¿Estoy loco?
  #2 (permalink)  
Antiguo 30/07/2013, 07:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Externalizar los callbacks

buenas...
se puede hacer como dices, pero entonces pierdes flexibilidad. además, el mantenimiento de la aplicación podría ser más complicado. fíjate que un callback es un proceso que generalmente se invoca al finalizar otro proceso. la ventaja de pasar un callback es que no estás atado a siempre realizar el mismo proceso, sino uno que se ajusta a tu necesidad o gustos. tu lo que quieres hacer es esto... asumiendo que fn es una fución que recibe un callback, tendrías que editar esa función y donde use el callback lo reemplazas por la invocación de otra función —puede ser externa o interna.

Código:
function fn(callback){ // el argumento callback ya no lo usaremos ;
// proceso normal ;
...
// donde quieras que se utilice el callback ;
foo();
}

function foo(){
// funcion que reemplaza el callback ;
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 31/07/2013, 03:38
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Externalizar los callbacks

Buenas zerokilled,

Entonces... no existe ninguna forma de hacer un callback sin tener que tener una llamada "callback" dentro de la funcion a la que llamamos. Osea, mi problema es que a las funciones a las que llamo no son mias y las puedo editar. Estas funciones tienen un tiempo de ejecucion variable.

Pense que habia algun metodo para realizarlo. Me parece logico que no exista ahora que lo pienso, pero tenia esperanzas de sorprenderme, jeje.

Gracias zerokilled!
  #4 (permalink)  
Antiguo 31/07/2013, 03:42
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Externalizar los callbacks

Uf zerokilled,

Estoy repasando tu mensaje, y me parece que me he vuelto a perder. Me parece que no te he pillado y te he respondido sin comprender tu respuesta.

:P

Etiquetas: ajax, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:25.