如何在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中的的数据呢/?
添加回答
举报
0/150
提交
取消