Diferencia entre disparador, manejador y devolución de llamada

7

Es actual ver los términos callback , trigger y handler en algunas documentaciones de API. ¿Es solo sinónimo o cada término corresponde a un concepto específico?

Solía pensar que estos términos son sinónimos, pero debo estar equivocado ...

¡Gracias!

    
pregunta nouney 23.07.2013 - 21:03

2 respuestas

13

Estos son términos generales en la programación. A menudo puede significar cosas diferentes, pero en general hablando ...

callback es una referencia a una función o bloque de código que es ejecutado por un tercero.

trigger es un comportamiento en respuesta a estímulos, y un evento puede trigger el cambio de estado o, como resultado de ese trigger , ejecuta el callback asociado.

handler es una referencia a un objeto o clase que está asociado con un comportamiento. Un handler es diferente de un callback porque es un objeto que representa un estado.

Usando jQuery AJAX como ejemplo.

$.ajax({
   url: "test.html",
   context: document.body
}).done(function() {
   $(this).addClass("done");
});
  • El function() es un callback .
  • El objeto pasado a $.ajax(...) es un handler .
  • El evento done() es un trigger .

El handler tiene un evento done que cuando triggered llama al callback para realizar $(this).addClass("done"); .

    
respondido por el cgTag 23.07.2013 - 21:11
2

Controlador, una subrutina de devolución de llamada asíncrona. El controlador implementa el patrón diseño de interceptor . Que se utiliza para manejar mensajes entrantes o salientes y manipular sus valores.

Una devolución de llamada es un fragmento de código ejecutable que se pasa como un argumento a otro código, que se espera que devuelva (ejecute) el argumento en algún momento conveniente. La invocación puede ser inmediata como en una devolución de llamada sincrónica , o puede ocurrir más tarde como en una devolución de llamada asíncrona . Las devoluciones de llamada se implementan de diferentes maneras en el cierre, las expresiones lambda, etc.

Los desencadenadores son reglas, se ejecutan en eventos .

    
respondido por el Premraj 28.12.2015 - 10:44

Lea otras preguntas en las etiquetas