通过功能处理中间件是否可能

时间:2018-12-19 07:12:45

标签: node.js express

我有点困惑,让我先显示代码

在app.js中

 app.oauth=require('./serverice/login') // this is 1 middleware
 app.islogin=require('./middleware/islogin')(app)  // this is 2 middleware
 app.get('/next', app.islogin,(req, res) => {
    res.render('dashboard/dashboard');
 });

和中间件islogin.js

     function IsLogin(appauth){
      //get req.token from 1 middleware and do somecondition
    }
    module.exports=IsLogin

我的第一个中间件接下来给出的就像req.token一样,我的困惑是我可以在第二个中间件中处理这个req.token吗?是否有其他好的方法

1 个答案:

答案 0 :(得分:1)

您可以在IsLogin函数中返回中间件。

  // login.js
  function login(req, res, next){
       res.locals.valueToPass = value;
  }

  // isLogin.js
  function IsLogin(appauth){
  //get req.token from 1 middleware and do somecondition
      return function (req, res, next){
          let value = res.locals.valueToPass;
       }

  }
  module.exports=IsLogin