我正在设置一些API,我需要从一个API调用另一个已配置的API。 这是我必须打电话给的那个:
exports.createNews = function (req, res, next) {
var notification = new Notification(req.body);
notification.save(function (err, notification) {
if (err)
return res.send(new Error(500, "There was a problem creating the notifications", err));
res.send({
success: true,
data: {
notification: notification
}
});
});
};
这是调用另一个的API:
feedback.save(function (err, feedback) {
if (err)
return res.status(400).send(new Error(400, "Validation failed. Invalid attributes", err));
var notification = new Notification()
createNews(req,res,function () {
return res.status(200).send({
success: true,
data: {
feedback: feedback
}
});
})
})
我收到此错误: 错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头
问题是我还必须单独打第一个电话。
感谢您的帮助。
答案 0 :(得分:0)
您在res.send
中两次调用createNews
,在feedback.save
中一次调用。
错误Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
通常意味着您已经发送了一次响应,并且由于明显的原因,您无法再次发送响应。
因此,您需要做的是仅发送来自createNews
或feedback.save
之一功能的响应。
希望能回答您的问题。