gpt4 book ai didi

javascript - 使用 Express 进行 Node.js 预响应

转载 作者:行者123 更新时间:2023-11-28 21:13:58 25 4
gpt4 key购买 nike

所以我正在使用 Node.js 和 Express 框架制作一个网页。我已经注册并登录(我在 session 中持有用户 ID)。下一步是每当用户通过身份验证时呈现不同的页面。

其中一些页面需要一个 User 对象,它只是我的数据库中用户的映射。因此,每当经过身份验证的请求到来时,我都需要从我的数据库中检索用户。但每次都编写这段代码似乎是一个糟糕的方法。所以这里的问题是:是否可以(如果可以,那么如何?)做,比如预响应,这样只要我知道用户已通过身份验证,我就可以自动检索 User 对象,然后执行主要操作回应?

最佳答案

你说的就是中间件。中间件只是一个在路由被触发时顺序调用的函数。所以要有一个 loadUser 函数:

function loadUser(req, res, next) {
// You would fetch your user from the db
var user = users[req.params.id];
if (user) {
req.user = user;
next();
} else {
next(new Error('Failed to load user ' + req.params.id));
}
}

app.get('/user/:id', loadUser, function(req, res){
res.send('Viewing user ' + req.user.name);
});

您可以根据需要定义任意数量的中间件函数。请务必在最后调用 next() 将路由处理传递给下一个函数。

关于javascript - 使用 Express 进行 Node.js 预响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8054142/

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