Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 重新加载页面10次后,Express停止工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用express作为节点的web服务器,一切似乎都正常工作.我遇到的唯一问题是我多次加载特定页面(‘/ learn’路线)10次.一旦我这样做,express似乎停止工作,虽然没有错误记录到控制台,并且页面上没有显示任何错误.它只是在浏览器中等待主机.奇怪的是,如果我从带有问题的页面转到另一个页面然后再返回,则不会出现问题.我可以尽可能多地重复这一点而不会出错.这是我的问题路线:

var bcrypt = require('bcrypt');
var pool = require('../database.js').pool;


module.exports = function(app) {
    app.get('/learn',function(req,res,next) {
        var query = 'SELECT * FROM questions INNER JOIN answers ON questions.questionID = answers.questionID';
        pool.getConnection(function(err,connection) {
            connection.query(query,function(err,rows) {
                if (err) {
                    throw err;
                }

                var data = {
                    name: req.session.name,problems: rows,};

                res.render('learn.html',data);
            });
        });
    });

    app.post('/learn/checkAnswer',res) {
        //get posted form data
        var questionID = req.body.questionID;
        var selectedAnswer = req.body.selectedAnswer;

        //query database
        pool.getConnection(function(err,connection) {
            var query = connection.query('SELECT correctAnswer FROM questions WHERE questionID = ?',questionID,rows) {
                res.send({
                    correctAnswer: rows[0].correctAnswer
                });
            });
        });
    });
};

我不确定这是否有所作为,但我使用把手作为我的渲染引擎而不是jade,以及我的数据库的node-MysqL.

解决方法

10 is the default size of the node-mysql pool.由于您没有结束使用pool.getConnection检索的连接,因此第11个请求将无限期地等待免费连接.

易于修复:

connection.query(query,rows) {
  connection.end(); // end the connection as soon as possible,// so it's returned to the pool and can be reused.
  if (err) ...
});

大佬总结

以上是大佬教程为你收集整理的node.js – 重新加载页面10次后,Express停止工作全部内容,希望文章能够帮你解决node.js – 重新加载页面10次后,Express停止工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: