javascript - MERN STACK throw new ERR_HTTP_HEADERS_SENT('set'); 获取 github 存储库
问题描述
我是 MERN 堆栈的新手,一切正常,但是当我尝试从 Github 中提取 Repos 时,它会出错throw new ERR_HTTP_HEADERS_SENT('set'); .
我不知道该怎么办尝试了许多解决方案,但它不起作用。下面附上代码和错误
已经导入的配置和请求包
代码:-
// @route GET /github/:username
// @desc GET repos
// @access public
router.get('/github/:username',(req,res)=>{
try {
const options = {
uri: `https://api.github.com/users/${req.params.username}/repos?per_page=5&sort=created:asc&client_id=${config.get('githubClientId')}&client_secret=${config.get('githubSecret')}`,
method : 'GET',
headers : {'user-agent':'node.js'}
};
request(options,(error,response,data)=>{
if(error) console.error(error);
if(response.statusCode != 200){
res.status(404).json({'msg':'Profile not found'});
}
res.json(JSON.parse(data));
});
} catch (err) {
console.error(err.message);
res.status(500).send('Server error');
}
});
错误 :-
_http_outgoing.js:561
throw new ERR_HTTP_HEADERS_SENT('set');
^
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:561:11)
at ServerResponse.header (D:\src\mern_projects\DevConnector\node_modules\express\lib\response.js:771:10)
at ServerResponse.send (D:\src\mern_projects\DevConnector\node_modules\express\lib\response.js:170:12) at ServerResponse.json (D:\src\mern_projects\DevConnector\node_modules\express\lib\response.js:267:15) at Request._callback (D:\src\mern_projects\DevConnector\routes\api\profile.js:281:13)
at Request.self.callback (D:\src\mern_projects\DevConnector\node_modules\request\request.js:185:22)
at Request.emit (events.js:400:28)
at Request.<anonymous> (D:\src\mern_projects\DevConnector\node_modules\request\request.js:1154:10)
at Request.emit (events.js:400:28)
at IncomingMessage.<anonymous> (D:\src\mern_projects\DevConnector\node_modules\request\request.js:1076:12)
at Object.onceWrapper (events.js:519:28)
at IncomingMessage.emit (events.js:412:35)
at endReadableNT (internal/streams/readable.js:1317:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
code: 'ERR_HTTP_HEADERS_SENT'
}
请解决这个问题,非常感谢提前。谢谢你
解决方案
推荐阅读
- python - 使用 Elasticsearch Logstash 索引日志(使用预处理 Python 脚本)
- php - 在 ACF 图库上添加视频
- amazon-web-services - 如何限制EC2访问内网
- sql-server - 使用 SQL Server SELECT INTO 创建不可为空的列
- python - 如何在scrapy - python中将多个URL保存为每个StartURL的文件?
- node.js - 架构 ._id 与 .find() 返回的 ._id 不同?[NodeJS/猫鼬]
- java - 在 selenium/java 中应用过滤器后检查元素不存在
- sql-server - varchar 值“781015020002”的转换溢出了一个 int 列
- clang-tidy - clang-tidy readability-identifier-naming 模块似乎没有正确处理类属性和类方法
- oracle - 从 dbcheck 日志中收集信息