CNode

Express中间件向下传递数据的问题

问答
Xxiaqiubo发布于9 年前最后回复9 年前8 回复11225 浏览0 收藏

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

将数据绑定在向下传递的参数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)

X
xiaqiubo#1·9 年前
引用 enternodercheck one 的 then最后加个next(); check two 也要有个next 这个参数吧

@enternoder 就是做个演示,😁表达下意思,

X
xiaqiubo#2·9 年前
引用 dbit-xia我也有这样用 来自酷炫的 CNodeMD

@dbit-xia 看来是对的,,😁😁

X
xiaqiubo#3·9 年前
引用 steambapres.local 就是为了这样用吧

@steambap 嗯嗯,这样的传值不会被其他路由获取,req.local会不会影响到全局路由?

T
taobataoma#5·9 年前

没毛病

D
dbit-xia#6·9 年前

我也有这样用

来自酷炫的 CNodeMD

S
steambap#7·9 年前

res.local 就是为了这样用吧

E
enternoder#8·9 年前

check_one 的 then最后加个next(); check_two 也要有个next 这个参数吧

参与回复
登录后即可参与回复。登录