Express中间件向下传递数据的问题
发布于 7 年前 作者 xiaqiubo 10038 次浏览 来自 问答

想利用中间件机制来降低回调嵌套的数量,就想到用中间件

将数据绑定在向下传递的参数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会不会影响到全局路由?

回到顶部