避免将箭头函数参数传递给另一个函数

时间:2020-03-25 16:56:03

标签: javascript ecmascript-6 arrow-functions

我正在使用express,并且正在使用箭头功能来处理我的req,res参数。我将这个req,res委派给另一个辅助函数。

app.get("/Model/:id", (req, res) => { Handler.model(req, res) });    

我的问题是,我是否可以避免这种冗余并做类似的事情

app.get("/Model/:id", Handler.model(req, res));

1 个答案:

答案 0 :(得分:1)

您可能可以进行η减少:

app.get("/Model/:id", Handler.model);

但是您可能必须bind

app.get("/Model/:id", Handler.model.bind(Handler));

请注意,与原始箭头功能不同,它确实将任意数量的参数传递给model方法,而不是两个参数,并且确实返回了model方法的返回值,而不是返回值(undefined)。取决于app.getHandler.model是否可以处理这些微小差异。