首页 > 解决方案 > 我是否正确理解了这个 Javascript 函数?

问题描述

我正在研究我工作的网络应用程序的后端结构,我遇到了这个功能......

let wrap = fn => (...args) => fn(...args).catch(args[2]);
//Example usage...
socket.on('arcify', msg => wrap(arcifySocketHandler(db, socket, msg)))
app.post(pre + '/supplier_sheet/update', wrap(async (req, res) => {...})

我不能为我的生活缠上我的头。我的第一印象是它接受一个异步函数 (fn) 并返回一个使用 ...args 调用 fn 的函数,如果发生任何错误则调用第三个参数。这个对吗?

标签: javascriptnode.jsarrow-functions

解决方案


推荐阅读