我想从第一个中间件传递一些变量到另一个中间件,我试着这样做,但有“req。有些变量是一个给定的‘未定义’”。
//app.js
..
app.get('/someurl/', middleware1, middleware2)
...
////middleware1
...
some conditions
...
res.somevariable = variable1;
next();
...
////middleware2
...
some conditions
...
variable = req.somevariable;
...
诀窍很简单……请求周期仍然存在。您只需添加一个新变量,它将创建一个临时的调用
app.get('some/url/endpoint', middleware1, middleware2);
因为您可以在第一个中间件中处理请求
(req, res, next) => {
var yourvalue = anyvalue
}
在中间件1中,你可以像下面这样处理你的逻辑并存储你的值:
req.anyvariable = yourvalue
在中间件2中,你可以通过以下方法从中间件1中获取这个值:
(req, res, next) => {
var storedvalue = req.yourvalue
}