我是Node / react的新手,但是尝试连接到沙发床并使用ID获取详细信息。我用邮递员打了API,然后在控制台中看到了数据,但也看到了以下错误:我做错什么了吗?测试检查_http_outgoing.js:485抛出新的ERR_HTTP_HEADERS_SENT('set');^错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头在ServerResponse.setHeader(_http_outgoing.js:485:11)
var couchbase = require('couchbase');
exports.getMById = (req, res, next) => {
if (req && req.params && req.params.id) {
const getMByIdSuccCB = result => {
console.log("Test check",result);
res.json(result);
};
const getMByIdErrCB = error => {
res.json(error);
};
getMById(getMByIdSuccCB, getMByIdErrCB);
} else {
res.status(400).json({ error: 'Bad Request' });
}
function getMById(successCB, errorCB) {
try {
const cluster = new couchbase.Cluster('couchbase://IP');
cluster.authenticate("username", 'password');
const bucket = cluster.openBucket('mybucket', function (err) {
console.log("DB Connected");
if (err) {
console.error('Got error: %j', err);
}
});
const N1qlQuery = couchbase.N1qlQuery;
const q = N1qlQuery.fromString(`SELECT * FROM mybucket WHERE IHGId = '${req.params.id}'`);
const result = cluster.query(q, function (err, response) {
console.log("Result:", response);
//res.end(response);
successCB(response);
});
console.log("result",result);
if (err) {
console.log(err);
};
}
catch (Exception) {
errorCB({ message: Exception, status: 500 });
};
}
}
尝试在getMById(successCB,errorCB)中而不是export.getMById中调用res.json()
。