JavaScript 函数调用中的两组括号?

Rey*_*ngo 4 javascript node.js

我正在读一本关于 Node.js 和 Express 的书,其中一个示例显示了带有两组括号的函数调用。我希望能解释一下代码的作用,因为我以前没有见过这个。这是代码:

app.use(require('cookie-parser')(credentials.cookieSecret));
Run Code Online (Sandbox Code Playgroud)

同样,让我感到困惑的部分是第二组参数,它似乎将“credentials.cookieSecret”作为参数传递,但是传递给什么?它看起来与 IIFE 类似,但我不这么认为。

谢谢。

Meh*_*hdi 5

cookie-parser模块返回一个函数,该函数在您共享的代码中被调用。

app.use(require('cookie-parser')(credentials.cookieSecret));
Run Code Online (Sandbox Code Playgroud)

可以重写为:

var cookieParser = require('cookie-parser')

var cookieParserInstance = cookieParser(credentials.cookieSecret)

app.use(cookieParserInstance)
Run Code Online (Sandbox Code Playgroud)