正文如何传递给此函数中的return语句

Mes*_*uvi 2 javascript function

我已经遍历了某个特定的代码库,并且遇到了如下所示的函数定义:

function handleSuccess(res) {
    return (body = {}) =>
    res.status(statusCode).jsend.success({
        status: statusCode,
        success: true,
        ...body,
      })
}
Run Code Online (Sandbox Code Playgroud)

然后调用该函数,如下所示:

handleSuccess(res)({ message: 'message' });
Run Code Online (Sandbox Code Playgroud)

我似乎不明白如何将body({message:'message'})传递给上述函数的return语句。因此,对于此功能如何在Javascript中起作用,我将不胜感激。

T.J*_*der 5

handleSuccess创建并返回一个函数(使用箭头函数语法)。它的调用正在运行(作为(res)其后的结果),然后使用对象初始化程序创建的对象调用它返回的功能。

//  vvvvvvvvvvvvvvvvvv---------------------------- creates the function
    handleSuccess(res)({ message: 'message' });
//                    ^^^^^^^^^^^^^^^^^^^^^^^^ --- calls the function
Run Code Online (Sandbox Code Playgroud)

对它的调用也可以这样写,可能更清晰:

const handler = handleSuccess(res);
handler({ message: 'message' });
Run Code Online (Sandbox Code Playgroud)

更多: