Entiendo pasar una función a otra función como una devolución de llamada y hacer que se ejecute, pero no entiendo la mejor implementación para hacer eso. Estoy buscando a un ejemplo muy básico, así:Obtener una mejor comprensión de las funciones de devolución de llamada en JavaScript
var myCallBackExample = {
myFirstFunction : function(param1, param2, callback) {
// Do something with param1 and param2.
if (arguments.length == 3) {
// Execute callback function.
// What is the "best" way to do this?
}
},
mySecondFunction : function() {
myFirstFunction(false, true, function() {
// When this anonymous function is called, execute it.
});
}
};
En myFirstFunction, si lo hago volver de devolución de llamada nueva(), entonces funciona y ejecuta la función anónima, pero eso no parece ser la correcta acercarse a mí.
correcta en qué sentido? En general, las devoluciones de llamadas se usan para manejadores de eventos, sobre todo llamadas Ajax, que son asíncronas, básicamente cosas donde no se sabe cuándo vendrá (o si) un resposne. – cletus
por cierto, los argumentos son de tipo array pero no de array, por lo que no puedes hacer argument.length pero puedes convertirlo en una matriz usando el método de corte ... – paul
@paul, aunque tienes razón en que 'arguments' no es un array, aún puede hacer referencia a su longitud como 'arguments.length' - pruébelo. Esta propiedad se refiere a la cantidad de argumentos realmente pasados, y no necesariamente a la cantidad de parámetros en la firma de la función. – hotshot309