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

obtener el resultado de una variable dentro de una funcion con callback.

Estas en el tema de obtener el resultado de una variable dentro de una funcion con callback. en el foro de Node.js en Foros del Web. modelo sql @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original model. numRowsMensajes = function ( id , callback ) {     conect. query ( "SELECT ...
  #1 (permalink)  
Antiguo 21/02/2015, 13:32
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 10 meses
Puntos: 4
obtener el resultado de una variable dentro de una funcion con callback.

modelo sql

Código Javascript:
Ver original
  1. model.numRowsMensajes = function ( id, callback ) {
  2.     conect.query("SELECT * FROM app_mensajes WHERE ID_post = "+ id, function(err, data) {
  3.         callback(null, data.length);
  4.     });
  5. }

funcion locals para renderizar...

Código Javascript:
Ver original
  1. app.locals.numComment = function(id) {
  2.     var data = null;
  3.     sqlModel.numRowsMensajes(id, function(err, _data) {
  4.         data = _data;
  5.     });
  6.     console.log(data);
  7. };

no me retorna el valor de _data...
__________________
Desarrollo web Front End Realtime NodeJs
  #2 (permalink)  
Antiguo 21/02/2015, 18:04
Avatar de utan  
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 12 años, 4 meses
Puntos: 17
Respuesta: obtener el resultado de una variable dentro de una funcion con callback.

Cita:
Iniciado por jsstoni Ver Mensaje
funcion locals para renderizar...

Código Javascript:
Ver original
  1. app.locals.numComment = function(id) {
  2.     var data = null;
  3.     sqlModel.numRowsMensajes(id, function(err, _data) {
  4.         data = _data;
  5.     });
  6.     console.log(data);
  7. };

no me retorna el valor de _data...
Cuando usas callbacks deves usarlo en cadena , osea todo dentro del callback no puedes continuar con detecciones afuera de este..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com
  #3 (permalink)  
Antiguo 21/02/2015, 18:22
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: obtener el resultado de una variable dentro de una funcion con callback.

Cita:
Iniciado por utan Ver Mensaje
Cuando usas callbacks deves usarlo en cadena , osea todo dentro del callback no puedes continuar con detecciones afuera de este..
eh echo de ese modo por la asincronia de nodejs que es lo que me esta causando el error para retornar el resultado...
__________________
Desarrollo web Front End Realtime NodeJs
  #4 (permalink)  
Antiguo 21/02/2015, 18:43
Avatar de utan  
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 12 años, 4 meses
Puntos: 17
Respuesta: obtener el resultado de una variable dentro de una funcion con callback.

Cita:
Iniciado por jsstoni Ver Mensaje
eh echo de ese modo por la asincronia de nodejs que es lo que me esta causando el error para retornar el resultado...
Node.js es basado en eventos y en callbacks asincronicos los cuales ayudan a que tu application no espere que otro cliente termine su inicializacion..

De tal forma necesitas hacer tu código que funcione de una forma asincrónica , si lo quieres hacer sincrónica es otro cosa, la cual no te podría decir como intentarlo..

Yo empezaría por re pensar la estrategia de mi código teniendo encuentra que si quiero esperar algo de un callback que sea importante para initializar a mi cliente que el flujo de mi código siga una forma asincrónica..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com
  #5 (permalink)  
Antiguo 27/02/2015, 06:52
 
Fecha de Ingreso: enero-2015
Mensajes: 2
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: obtener el resultado de una variable dentro de una funcion con callback.

En realidad con que metieras el console.log dentro de la función callback ya te mostraría el resultado.

Etiquetas: express
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 08:43.