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

问题描述 投票:0回答:1

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

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

我的问题是,我是否可以避免这种冗余并采取类似措施

app.get("/Model/:id", Handler.model(req, res));
javascript ecmascript-6 arrow-functions
1个回答
1
投票

您可能可以进行η归约:

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

但是您可能必须bind

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

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

© www.soinside.com 2019 - 2024. All rights reserved.