RangeError:nodejs和mongodb超出了最大调用堆栈大小

时间:2015-05-11 06:48:06

标签: node.js mongodb socket.io

我们使用mongodb调用来检索在每个页面加载/套接字创建期间调用的套接字事件中的文档,以便我们获得RangeError: Maximum call stack size exceeded。请检查以下代码。



socket.on('addUser', function (userid){
  connectedSocket[userid] = socket;
  socket.UserId = userid;
  
  //getLostMessages(userid);
  console.log('new user added : '+userid);
  lostMesgsdb.findByReceiver(userid, function(err, mesgRecords){
   if(mesgRecords)
   {
    if(mesgRecords.length == 0)
    {
     console.log('no lost messages found');
    }
    else
    {
     // console.log(mesgRecords); //connectedSocket[userid]
     connectedSocket[userid].emit('lostMessages', mesgRecords);
     
     lostMesgsdb.delete(userid, function( error, docs) {
      console.log('messages are deleted for user : '+userid);
     });
    }
   }
  });
 });




1 个答案:

答案 0 :(得分:0)

RangeError:超出最大调用堆栈大小。堆栈已满时会发生这种情况。我没有在代码中看到任何类型的循环。检查代码是否有无限循环..了解set immediate和process nodets中的nexttick