gpt4 book ai didi

node.js - FeathersJs:无法设置标题

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:08 25 4
gpt4 key购买 nike

我正在尝试在 feathersjs 中的路由上设置内容类型 header 应用程序。

我不断遇到此错误 - 错误:错误 [ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置 header

这就是我尝试设置标题的方式 --

const myService = {
create(data, params) { // create == POST request
console.log(data);
return Promise.resolve();
}
};

function setContent(req, res, next) {
res.setHeader('content-type', 'text/plain');
res.end();
next();
}

app.use('/incoming', myService, setContent);

我猜测 return Promise.resolve(); 也设置了 header 。我该如何覆盖它?

最佳答案

错误不是来自您的中间件,而是 Feathers 在之后注册,因为您以 res.end() 结束响应然后仍然调用next()这可能不是你想要的。应该是:

function setContent(req, res, next) {
res.setHeader('content-type', 'text/plain');
res.end();
}

或者

function setContent(req, res, next) {
res.setHeader('content-type', 'text/plain');
next();
}

此外,服务方法始终必须返回一个对象,因此它至少应该是 return Promise.resolve(data);return Promise.resolve({});

关于node.js - FeathersJs:无法设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50171794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com