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
            });
        }
    });
});

阅读 4.1k
评论
    1 个回答
    • 2.5k

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

      撰写回答

      登录后参与交流、获取后续更新提醒