Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2014, 05:15
teleconocimiento
 
Fecha de Ingreso: febrero-2014
Mensajes: 30
Antigüedad: 10 años, 10 meses
Puntos: 0
Nodejs se vuelve loco

A ver si alguien tiene alguna idea de por que me esta pasando esto.

Tengo una pagina web que se conecta a un servidor nodejs. El servidor nodejs esta conectado con una base de datos MongoDB.

En la pagina en cuestión tengo implementado un buscador (JavaScript) que va buscando por todas las tablas hasta encontrar una coincidencia y de lo contrario lanza un aviso de que el termino buscado no corresponde a nada de lo que hay en la BD.

Ahora viene la pregunta. Cuando hago la primera búsqueda en la pagina, me responde bien sea lo que sea (tanto si existe la búsqueda como si no), pero si vuelvo a hacer otra búsqueda la pagina se bloquea haciendo una infinidad de peticiones al servidor con lo que acaba por bloquearse todo.

Las peticiones al servidor son del tipo a esta:

Código Javascript:
Ver original
  1. function persona(termino) {
  2.  
  3.       console.log("dentro de persona")
  4.  
  5.       consultar_persona(termino, function (persona) {
  6.  
  7.           if (persona.length == 0) {
  8.               console.log("No es una persona.");
  9.               genero(termino);
  10.  
  11.           } else {
  12.  
  13.               consultar_id_autor(persona[0].idPersona, function (autor) {
  14.  
  15.                   console.log(autor.length);
  16.  
  17.                   for (var i = 0; i <= autor.length - 1; i++) {
  18.  
  19.                       console.log("Autor: " + autor[i].titulo);
  20.                   } //for
  21.  
  22.               });
  23.  
  24.               consultar_id_realizador(persona[0].idPersona, function (realizador) {
  25.  
  26.                   console.log(realizador.length);
  27.  
  28.                   for (var i = 0; i <= realizador.length - 1; i++) {
  29.  
  30.                       console.log("Realizador: " + realizador[i].titulo);
  31.                   } //for
  32.  
  33.  
  34.  
  35.               });
  36.           } //else      
  37.       }); //consultar_persona
  38.  
  39.   } //persona

¿Alguna Sugerencia?

Gracias de Antemano.