Manejo de funciones y CallBack en Node.js
Salim A. Castellanos
R.
salimsalim4@gmail.com
@SCastellanosR
salimsalim4@gmail.com
@SCastellanosR
Node como ya habíamos comentado
en un lenguaje orientado a eventos, asíncrono y que además maneja una bucle de
eventos, este bucle es por definición secuencial; Y cuando en esa iteración llega
a un evento que tiene que emitirse llama a su CallBack. Todo esto hace que sea
imperativo manejar y entender el funcionamiento de las funciones y el CallBack
en Node.js.
Un CallBack es simplemente una función
que tú puedes pasar como parametro dentro de otra función, y esta funcion se ejecuta al suceder solo el evento indicado, a esto se debe que Node.js es un entorno de programación orientado a eventos.
En Node una función se empieza a
definir con la palabra reservada ‘function’, y después el nombre de la función.
No se especifica si va a devolver algún tipo de variable, y algo muy particular
y esto tiene que ver con que básicamente Node es javascript, en Node una función
puede contener un parámetro que a su vez es una función. Estas funciones como parámetro
se pueden pasar de dos formas, de forma explícita, ósea diciendo el nombre de
la función, o de forma anomia, que consiste en desarrollar la función dentro
del espacio que como parámetro le corresponde, es esto lo que le permite al
lenguaje ejecutar el código solo cuando la función principal es emitida.
Entendamos esto con algunos
ejemplos: Yo voy a estar escribiendo sobre el archivo ‘funciones.js’.
// Esta función escribe en consola, el texto pasado
// como parámetro a la función decir
function decir(palabra){
console.log(palabra);
}
// Ahora vamos a llamar a la función y pasémosle
// un texto y veamos cómo se escribe en consola.
decir(“Hola Mundo.”);
Desde la consola nos ubicamos en
el directorio donde esta nuestro archivo
y ejecutamos,
> node
funciones.js
En consola nos debió aparecer ‘Hola
Mundo.’, Si quieres hacer esto directamente desde NetBeans como IDE, te
recomiendo la siguiente entrada:
Ahora vamos a crear una función
que va a actuar como Router o Manejador de nuestras funciones, le pasaremos
como primer parámetro el nombre de nuestra función a ejecutar, y como segundo parámetro,
el parámetro de la función que queremos ejecutar.
// El parámetro ‘algunaFuncion’, es quien tiene dentro
// de el,
nombre de la función que queremos ejecutar
// el parámetro ‘valor’, es lo que le pasamos como
// parámetro a la función que en realidad
// Queremos ejecutar.
function ejecutar(algunaFuncion, valor) {
algunaFuncion(valor);
}
// Hagamos una prueba de esto:
// Este es un ejemplo de cómo se pasa una
// función explícitamente diciendo su nombre
ejecutar(decir, "Hola Mundo 2.");1
> Hola
Mundo.
> Hola
Mundo 2.
Como podemos ver lo que hicimos
fue ejecutar la función ‘decir’, dos veces, pero de manera diferente. Ahora veamos cómo podemos obtener
el mismo resultado pero pasando una funcion anónima.
Modifiquemos el método ejecutar
para que quede de la siguiente manera.
// Lo que se hace es desarrollar
lo que era la
// función ‘decir’, pero dentro de la
// función ‘ejecutar’
como parámetro. // Si ejecutamos deberíamos obtener el mismo resultado.
ejecutar(function (palabra) {
console.log(palabra);
}, "Hola Mundo 2.");
Con esto terminamos la primera entrada de funciones, en la proxima entrada hablaremos de como crear nuestra primera pagina web y el manejo y creacion de nuestros propios modulos.
Otros Articulos:
No hay comentarios:
Publicar un comentario