在节点中将 javascript 范围与 expressjs 一起使用的正确方法
Proper way to use javascript scope with expressjs in node
我正在尝试学习 JavaScript 和全栈开发,但我无法完全理解如何正确使用 express with JavaScript ....
我的问题是这样的:
我在网上看到的每个教程都使用了以下语法:
app.get('/',function(request,response,next){
var something = request.body.something;
if(something){do stuff...}
else{do other stuff...}
})
如果我不想使用匿名函数而是使用预定义的命名函数怎么办?
如何在快速方法中使用它们?
这样的事情会是 o.k 吗? :
function doStuffwithTheRequest(request,response,next){
var something = request.body.something;
if(something){do stuff...}
else{do other stuff...}
};
app.get('/',doStuffwithTheRequest(req,res,next));
如果是这样,以这种方式传递参数的正确方法是什么?
我试过这样编码,但我似乎无法将参数传递给预定义的函数...
我得到了上述问题的答案,但我想复习一下这个问题的附加内容...
我将如何从这样的东西中取出内部回调函数:
function doStuffwithTheRequest(req,res,next){
Somemiddleware.someMethod({parameter:req.session.value},function(err,returningparameter){
res.locals.info = returningparameter;
if(something){do stuff...}
else{do other stuff...}
})
};
app.get('/',doStuffwithTheRequest);
一旦我取出它,就会抛出一个错误:
资源未定义
您这样做的方式是调用不带参数的命名函数。您应该只传递函数本身:
app.get('/',doStuffwithTheRequest);
只需确保函数定义具有正确的参数(req、res、next),这在您的示例中就是如此。
我正在尝试学习 JavaScript 和全栈开发,但我无法完全理解如何正确使用 express with JavaScript ....
我的问题是这样的:
我在网上看到的每个教程都使用了以下语法:
app.get('/',function(request,response,next){
var something = request.body.something;
if(something){do stuff...}
else{do other stuff...}
})
如果我不想使用匿名函数而是使用预定义的命名函数怎么办?
如何在快速方法中使用它们?
这样的事情会是 o.k 吗? :
function doStuffwithTheRequest(request,response,next){
var something = request.body.something;
if(something){do stuff...}
else{do other stuff...}
};
app.get('/',doStuffwithTheRequest(req,res,next));
如果是这样,以这种方式传递参数的正确方法是什么?
我试过这样编码,但我似乎无法将参数传递给预定义的函数...
我得到了上述问题的答案,但我想复习一下这个问题的附加内容...
我将如何从这样的东西中取出内部回调函数:
function doStuffwithTheRequest(req,res,next){
Somemiddleware.someMethod({parameter:req.session.value},function(err,returningparameter){
res.locals.info = returningparameter;
if(something){do stuff...}
else{do other stuff...}
})
};
app.get('/',doStuffwithTheRequest);
一旦我取出它,就会抛出一个错误:
资源未定义
您这样做的方式是调用不带参数的命名函数。您应该只传递函数本身:
app.get('/',doStuffwithTheRequest);
只需确保函数定义具有正确的参数(req、res、next),这在您的示例中就是如此。