得到错误:发送标头后无法设置标头
我想检查数据库在我的快速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();
}
});
得到错误:发送标头后无法设置标头
我想检查数据库在我的快速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();
}
});