express app.get 回调函数删减
发布于 6 年前 作者 dinghao1994 2423 次浏览 来自 问答

最近在学习express框架。 写的函数多了 想把函数抽出来,要不然,app.js 会显得臃肿

抽出来之后是这样: app.get(’/test’, function (req, res){ apiHandler(req,res);//引进来的模块 } ); 这样可以运行。

我又觉得 外面一层 function没啥用 , 看起来也不爽,想去掉,干脆写成这样 app.get(’/test’, apiHandler(req,res) ); 这样就会报错,参数传不进去, 请教一下 这是为何啊?

4 回复
app.get('/test', function (req, res) {
   apiHandler(req,res);
});

效果等价于以下,前提是 apiHandler 传入的参数正好是 reqres

app.get('/test', apiHandler);

建议可以同时学习 ES6 syntax,lambda function 可以用 arrow function 表示:

app.get('/test', (req, res) => apiHandler(req,res));

兄弟考虑过多个中间件了吗。 你这样单一一个,没问题,多个没法处理。

@zhang962976642 我现阶段 把 每个接口的 功能都写在 一个函数里了,

@grass0916 原来是这样,明白了,谢谢大神

回到顶部