为了账号安全,请及时绑定邮箱和手机立即绑定

如何在express的中间件中使用request请求接口数据或进行数据库查询

如何在express的中间件中使用request请求接口数据或进行数据库查询

慕容708150 2018-12-18 21:22:13
如何在express的中间件中使用request请求接口数据或进行数据库查询?例如有个 url = "http://127.0.0.1/shops/××××/"我想在express中使用中间件先给每一个shop路径的请求添加一些公共的数据,并传递给后面的处理函数,app.use('/shops', function (req, res, next) {    res.locals["title"] = "New Page Title";      next();});这样每一个经过shops的请求都会被添加一个title,但是如果我的数据是从通过request异步请求后端接口,或者使用mysql请求, 这时,数据都从对应的callback中返回,无法进行res.locals赋值。app.use('/shops', function (req, res, next) {res.locals["title"] = "New Page Title";  var shop_url = "http://127.0.0.1/api/shop/";request(shop_url, function (err, resonse, body) {    res.locals.info = body;   //异步赋值失败})console.log(res.locals.info); // undefinednext();});应该怎么做才能获得callback中的的数据呢/?
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

把next()放到request方法的回调函数里


查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 952 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信