【发布时间】:2014-07-20 21:09:14
【问题描述】:
我正在使用 NodeJS 和 Express,我有以下路线,中间件功能是 Mobile。如果我不使用 return next();在 isMobile 函数中,应用程序卡住了,因为 NodeJS 没有移动到下一个函数。
但我需要 isMobile 函数返回一个值,以便我可以在 app.get 中进行相应处理。有什么想法吗?
app.get('/', isMobile, function(req, res){
// do something based on isMobile return value
});
function isMobile(req, res, next) {
var MobileDetect = require('mobile-detect');
md = new MobileDetect(req.headers['user-agent']);
//return md.phone(); // need this value back
return next();
}
谢谢。
【问题讨论】:
-
如果 isMobile 功能是您路由的结束,为什么还要添加另一个功能?
-
我不明白为什么你需要你的下一个函数来返回任何东西。你不能简单地指望它。如果您需要将某些内容传递给下一个函数,请将其放入请求对象中。