Foros del Web » Programando para Internet » Node.js »

[SOLUCIONADO] Callbacks en Node.js

Estas en el tema de Callbacks en Node.js en el foro de Node.js en Foros del Web. Hola a todos. estoy tratando de aprender a desarrollar aplicaciones desde el servidor con Node.js, y he visto que uno de los fundamentos para poder ...
  #1 (permalink)  
Antiguo 29/01/2015, 15:06
Avatar de Ferkhis  
Fecha de Ingreso: mayo-2011
Ubicación: Medellín
Mensajes: 52
Antigüedad: 11 años, 1 mes
Puntos: 2
Callbacks en Node.js

Hola a todos.

estoy tratando de aprender a desarrollar aplicaciones desde el servidor con Node.js, y he visto que uno de los fundamentos para poder hacer esto apropiadamente, es cada vez que se pueda o sea necesario, declarar las funciones a modo de callback. He conseguido hacer lo que he querido por medio de esto, sin embargo, en el aspecto lógico no logro entenderlo del todo y esto no me gusta...

Pondré un ejemplo:

var content;
fs.readFile('./Index.html', function read(err, data)
{
if (err)
{
throw err;
}
content = data;
});
console.log(content);

Entiendo perfectamente que estamos pasando una función (read) como parámetro de otra función (readFile), y que read se ejecuta al llamar esta última, lo que no logro entender, es en qué parte del código el programa sabe que data es igual a './Index.html'. Tampoco veo cómo hace para saber nuestro programa que err se refiere a un estado de error en la lectura del fichero, si son funciones que nosotros mismos declaramos.

Les agradezco cualquier explicación al respecto.
  #2 (permalink)  
Antiguo 29/01/2015, 16:02
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 14 años, 3 meses
Puntos: 1329
Respuesta: Callbacks en Node.js

fs.readFile es la que provee todos esos datos, imagina que la función es algo así:

Código Javascript:
Ver original
  1. function readFile(path, callback) {
  2.   var error = null;
  3.   var data = null;
  4.  
  5.   try {
  6.     data = openFile(path).data;
  7.   } catch (e) {
  8.     error = e;
  9.   }
  10.  
  11.   callback(error, data);
  12. }


Obviamente así no es la función, pero creo que te puedes dar una idea con eso.

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: callback, funcion, parametro
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 15:40.