Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数末尾的这些节点js变量是什么?_Javascript_Node.js_Passport.js - Fatal编程技术网

Javascript 函数末尾的这些节点js变量是什么?

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');

我正在用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');
        } 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