Foros del Web » Programando para Internet » Javascript »

CallBacks?? Ayuda

Estas en el tema de CallBacks?? Ayuda en el foro de Javascript en Foros del Web. Hola forer@s. Posteo en este foro por que tengo la siguiente duda. Tengo 3 funciones. Código PHP: function  x ( callback ) {          alert ...
  #1 (permalink)  
Antiguo 18/10/2008, 18:45
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 16 años, 10 meses
Puntos: 3
CallBacks?? Ayuda

Hola forer@s. Posteo en este foro por que tengo la siguiente duda.

Tengo 3 funciones.

Código PHP:
function x(callback)
{
        
alert('Has llamado a la funcion x');
    
//Llamar a al funcion callback
}

function 
y()
{
    
alert('Has llamado a la funcion y');
}

function 
z()
{
    
alert('Has llamado a la funcion z');

Como ya os podeis imaginar, lo que quiero es que al finalizar la funcion x continue con la funcion y o z dependiendo de lo que haya en el callback.

Evidentemente podría hacer:

Código PHP:
function x(callback)
{
    
alert('Has llamado a la funcion x');
    
//Llamar a al funcion callback
    
    
if (callback == 'y')
    {
        
y();
    }
    else if (
callback == 'z')
    {
        
z();
    }
}

function 
y()
{
    
alert('Has llamado a la funcion y');
}

function 
z()
{
    
alert('Has llamado a la funcion z');

pero la cuestion es que tengo demasiadas funciones, y dependen del usuario.

Alguna alternativa?

P.D: Esta es la expliacion mas simple que e encontrado, yo necesito poder pasar parametros atraves del callback, asique supongo que será todavía mas complicado. En php habia una funcion llamada call_user_func(), que hace exactamente lo que yo quiero.
  #2 (permalink)  
Antiguo 18/10/2008, 19:12
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: CallBacks?? Ayuda

Hola SoutlinK:

Puedes llamarla directamente, si pasas la función por argumento:
Código javascript:
Ver original
  1. function x(callback)
  2. {
  3.     alert('Has llamado a la funcion x');
  4.     callback();
  5. }
  6. x(y);

Otra cosa es si quieres llamar a y con argumentos (o si son métodos de un objeto), entonces deberías informarte de los métodos de Function call() y apply().


Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 16:51.