express.js中间件中的next()函数是什么

时间:2017-12-01 16:14:25

标签: javascript node.js express

我很难绕过Express.js示例中的下一步做什么以及为什么在这里使用它。

这是我处理路线的文件。

 const express = require('express');
 const controller = require('../controllers/myappcontroller');
 const myroutes = express.Router();
 const apphelper = require('../services/appservices/apphelper');

 myroutes.get('/', apphelper.mycoolfunction, controller.index);

这是apphelper.js文件的内容

require('isomorphic-fetch');


function mycoolfunction(req, res, next) {
  fetch('someurl')
  .then((fetchRes) => {
    return fetchRes.json();
  }).then((jsonFetchRes) => {
    res.locals.firstname = jsonFetchRes.contents.firstname[0].firstname;
    next();
  }).catch((err) => {
    console.log(err);
    res.locals.firstname = 'not available';
    next();
  });
}

module.exports = {
  mycoolfunction: mycoolfunction,
};

为什么会出现" next"在参数中,为什么它们在函数中使用?它存在吗

1 个答案:

答案 0 :(得分:1)

简单,它会告诉您的应用运行下一个中间件。