最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

得到错误:发送标头后无法设置标头

运维笔记admin10浏览0评论

得到错误:发送标头后无法设置标头

得到错误:发送标头后无法设置标头

我想检查数据库在我的快速js api中是否已连接,但是它给了我错误Can't set headers after they are sent.,有人可以帮助我为什么我遇到此错误,在这里我添加了我的完整代码,有人可以吗看看并帮助我解决这个问题,

dbconnection.db :

{
        username: process.env.DB_USERNAME || '****',
        password: process.env.DB_PASSWORD || '',
        database: process.env.DB_DATABASE || '*****',
        host: process.env.DB_HOST || 'localhost',
        dialect: process.env.DB_DIALECT || 'mysql',
        logging: false,  
}

API : 
router.post('/', async (req, res) => {
    try {
        let connection = mysql.createConnection(dbconnection.db);
        connection.connect(function(err) {
            if (err) {
                res.statusCode = 500;
                return res.send(err.message).end();
            }
        });
        res.statusCode = 200;
        return res.send('OK').end(); 
    } catch (error) {
        res.statusCode = 500;
        return res.send(error).end();
    }
});
回答如下:

应在回调内部发送成功响应,如下所示:

router.post('/', async (req, res) => {
    try {
        let connection = mysql.createConnection(dbconnection.db);
        connection.connect(function(err) {
            if (err) {
                res.statusCode = 500;
                return res.send(err.message).end();
            } else {
                res.statusCode = 200;
                return res.send('OK').end(); 
        });

    } catch (error) {
        res.statusCode = 500;
        return res.send(error).end();
    }
});
发布评论

评论列表(0)

  1. 暂无评论