我试图理解express-async-handler的代码
在他们的Index.js中只有6行代码
const asyncUtil = fn =>
function asyncUtilWrap(...args) {
const fnReturn = fn(...args)
const next = args[args.length-1]
return Promise.resolve(fnReturn).catch(next)
}
module.exports = asyncUtil
现在,我正在尝试从用法中了解它是如何工作的。
从他们的文档中说
const asyncHandler = require('express-async-handler')
express.get('/', asyncHandler(async (req, res, next) => {
const bar = await foo.findAll();
res.send(bar)
}))
但是,幸运的是,在上面的示例中,当我们传递第二个参数时(例如,如果我错了,请纠正我),我仍然无法得到它
我们正在将下面的代码片段传递给asyncUtil
,它将作为参数fn
async (req, res, next) => {
const bar = await foo.findAll();
res.send(bar)
}))
然后
function(...args)
内散布运算符的用途是什么