【问题标题】:RangeError: Maximum call stack size exceeded with nodejs and mongodbRangeError:nodejs和mongodb超出了最大调用堆栈大小
【发布时间】:2015-05-11 06:48:06
【问题描述】:

我们使用 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);
     });
    }
   }
  });
 });

【问题讨论】:

    标签: node.js mongodb socket.io


    【解决方案1】:

     RangeError:超出最大调用堆栈大小。当堆栈已满时会发生这种情况。我在代码中看不到任何类型的循环。检查您的代码是否存在无限循环。了解如何在 nodejs 中设置即时和处理 nexttick

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 2017-11-28
      • 1970-01-01
      • 2017-09-02
      • 2016-09-26
      • 1970-01-01
      • 2017-07-26
      • 2020-04-14
      • 2017-07-02
      相关资源
      最近更新 更多