Javascript 函数末尾的这些节点js变量是什么?
我正在用NodeJS、Express和PassportJS创建一个API,但我认为这是一个JavaScript问题Javascript 函数末尾的这些节点js变量是什么?,javascript,node.js,passport.js,Javascript,Node.js,Passport.js,我正在用NodeJS、Express和PassportJS创建一个API,但我认为这是一个JavaScript问题 app.get('/test', function (req, res, next) { passport.authenticate('bearer', { session: false }, function (err, user, info) { if (user === false) { res.send('ko');
app.get('/test', function (req, res, next) {
passport.authenticate('bearer', { session: false },
function (err, user, info) {
if (user === false) {
res.send('ko');
} else {
res.send('ok');
}
})(req, res, next);
});
我的问题是:
为什么
(req,res,next)
在authenticate函数之后?它与作用域相关吗?调用函数。其中的变量作为参数传递给它。您可以在代码的第一行看到它们进入包含函数。函数密码。authenticate
返回函数/闭包。代码如下
foo(x, y)(z);
i、 e.调用foo(x,y)
返回的函数使用参数z
调用
一个非常简单的例子是
function multiplier(k) {
return function(x) { return x*k; };
}
console.log(multiplier(7)(6)); // outputs 42