nodejs堆栈溢出怎么解决?

突然就提示Maximum call stack size exceeded了

控制台:
bbs.js : 1
bbs_a: 2
bbs.js : 2
bbs_a: 2
invoked[readComment]
bbs.js :4
GET /bbs 500 1368.168 ms - 64

router.get('/', function(req, res) {
    console.log("bbs.js : 1");
    var comment = new Bbs();
    console.log("bbs.js : 2");
    comment.readComment(function(err, result) {
        if (err) {
            console.log("bbs.js :3");
            res.status(404).end(err);
        } else {
            console.log("bbs.js :4");
            res.render('bbs', {
                items: result
            });
        }
    });
});

阅读 6.5k
1 个回答

可以在调用函数的时候,加一个setTimeout(func, 0),这样不是直接的递归函数,而是放到了nodejs的事件响应队列里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏