gpt4 book ai didi

javascript - 函数体是如何传递给函数中的 return 语句的

转载 作者:行者123 更新时间:2023-11-29 16:31:22 26 4
gpt4 key购买 nike

我一直在浏览某个代码库,并遇到了如下所示的函数定义:

function handleSuccess(res) {
return (body = {}) =>
res.status(statusCode).jsend.success({
status: statusCode,
success: true,
...body,
})
}

然后像这样调用该函数:

handleSuccess(res)({ message: 'message' });

我似乎不明白 body({ message: 'message' }) 是如何传递到上面函数的 return 语句的。因此,如果您能提供关于此函数如何在 Javascript 中工作的帮助,我将不胜感激。

最佳答案

handleSuccess 创建并返回一个函数(使用 arrow function 语法)。对它的调用正在运行(作为其后的 (res) 的结果),然后使用对象初始值设定项创建的对象调用它返回的函数。

//  vvvvvvvvvvvvvvvvvv---------------------------- creates the function
handleSuccess(res)({ message: 'message' });
// ^^^^^^^^^^^^^^^^^^^^^^^^ --- calls the function

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

const handler = handleSuccess(res);
handler({ message: 'message' });

更多:

关于javascript - 函数体是如何传递给函数中的 return 语句的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56515296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com