簡體   English   中英

正文如何傳遞給此函數中的return語句

[英]How is the body passed to the return statement in this function

我已經遍歷了某個特定的代碼庫,並且遇到了如下所示的函數定義:

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創建並返回一個函數(使用箭頭函數語法)。 它的調用正在運行中(作為其后的(res)的結果),然后使用對象初始化器創建的對象調用它返回的功能。

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

對它的調用也可以這樣寫,可能更清晰:

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

更多:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM