Express中间件向下传递数据的问题
想利用中间件机制来降低回调嵌套的数量,就想到用中间件
将数据绑定在向下传递的参数req,res中,其他路由是获取不到的,是否可以放心使用?
app.use('/login',check_one,check_two)
check_one(req,res,next){
model.findOne()
.then((data)=>{
// 将其绑定在向下传递的参数中req,res均可,其他路由是获取不到的,是否可以放心使用?
req.mydata=data
});
}
check_two(req,res){
console.log(req.mydata)
}
不知道这样的写法是否正确?
8 回复
我也有这样用
来自酷炫的 CNodeMD
res.local 就是为了这样用吧
check_one 的 then最后加个next(); check_two 也要有个next 这个参数吧
@enternoder 就是做个演示,😁表达下意思,
@dbit-xia 看来是对的,,😁😁
@steambap 嗯嗯,这样的传值不会被其他路由获取,req.local会不会影响到全局路由?
没问题。
没毛病