node.js - 将标头发送到客户端后无法设置标头 - 但代码不应运行
问题描述
所以我试图设置一个会话(确实设置)但是因为第 125 行的代码有这个:
res.set({
"Content-Type": "audio/mpeg",
'Transfer-Encoding': 'chunked'
});
它导致以下错误。
错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
一开始运行的代码是
if(!query.uuid && !req.session.uuid){
tempuuid = uuidv4();
req.session.uuid = tempuuid;
res.redirect('/station'+req.url+'&uuid='+tempuuid);
}
if(!req.session.uuid){
req.session.uuid = query.uuid;
res.redirect('/station'+req.url+'&uuid='+query.uuid);
}
if(req.session.uuid){
uuid = req.session.uuid;
}
所以我的问题是如果 res.redirect 已被触发,我如何阻止脚本进一步运行?
解决方案
发生此错误通常是因为您的代码在您的愿望语句或操作之后运行。
尝试返回您的声明。根据Mozilla:return语句
在函数体中使用 return 语句时,函数的执行将停止。如果指定,则将给定值返回给函数调用者。
推荐阅读
- sql-server - 获取每列的扩展属性
- css - 用于 pdf 导出的增量项目符号点功能
- scala - Kafka protobuf 的 Spark 结构化流
- mysql - 使用带有多个循环的 mysql 在 Node.js 中查询
- r - 为一天中的每个小时创建假人
- python - 如何在 keras 中训练顺序模型,将列表作为输出和输入?
- c# - 有没有办法在linq中做到这一点?
- javascript - CORS - Java 和 Javascript
- python-3.x - 当我们指定负小数时,函数如何工作
- .net - 错误 - 托管服务器上的 403.14 IIS,但本地应用程序有效