получение ошибки: невозможно установить заголовки после их отправки - PullRequest
0 голосов
/ 03 октября 2019

Я хочу проверить, подключена база данных или нет в моем экспресс-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();
    }
});

1 Ответ

1 голос
/ 03 октября 2019

Должен отправить успешный ответ внутри обратного вызова следующим образом:

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();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...