Javascript 是否将Node.JS res传递给函数?
这不会显示对HTTP请求的任何响应,只是挂起:Javascript 是否将Node.JS res传递给函数?,javascript,node.js,parameter-passing,connect,restify,Javascript,Node.js,Parameter Passing,Connect,Restify,这不会显示对HTTP请求的任何响应,只是挂起: function middleware(req, res, next) { to_end(res).NotFound(); return next(); } 这项工作: function middleware(req, res, next) { to_end(res).NotFound(); res.send(); // <-------------------------------------------
function middleware(req, res, next) {
to_end(res).NotFound();
return next();
}
这项工作:
function middleware(req, res, next) {
to_end(res).NotFound();
res.send(); // <----------------------------------------------
return next();
}
我不太擅长ES6,但我想这可能是javascript的上下文问题(我指的是
this
变量)
在您的情况下,res.json()
可能会抛出res未定义
(我猜),因为这个
此时是导出const to_end…
(感谢=>
的魔力)的上下文,它不知道什么是res
很抱歉,我的解释太糟糕了:(.请阅读以了解有关此的更多信息
我们可以让事情变得更简单:
module.exports = function(res) {
return {
NotFound: function() {
res.json(404, {
error: 'NotFound',
error_message: `${entity} not found`
});
}
}
};
p/S:还没有测试。祝你好运!:)
module.exports = function(res) {
return {
NotFound: function() {
res.json(404, {
error: 'NotFound',
error_message: `${entity} not found`
});
}
}
};