我无法理解以下javascript代码段。到目前为止,我了解到的是lambda函数具有参数(如果有的话)和主体,但是以下方法似乎具有一个参数fn
,而lamda进入了另一组参数(req, res, next)
,并且使用fn
进行调用的主体。
这对我来说真是令人困惑。这种方法到底是如何工作的以及如何以更简单的形式编写?
const asyncMiddleware = fn =>
(req, res, next) => {
Promise.resolve(fn(req, res, next))
.catch(next);
};