如何无需额外传参,向mainFunction传递多函数与多参数?
解决方案:改用剩余参数接收任意数量函数
把mainFunction的固定参数列表改成剩余参数(Rest Parameters),就能在不修改调用方式、不额外传参的前提下接收任意数量的函数:
// 修改后的mainFunction const mainFunction = async (...functions) => async ({ param1, param2, param3 }) => { // 修正原代码笔误:重复写了param3,应该包含param2 const params = { param1, param2, param3 }; // 示例:遍历执行所有传入的函数(可根据实际需求调整调用逻辑) for (const func of functions) { await func(params); } // 保留原有业务逻辑... };
关键说明:
- 用
...functions替代原来的function1, function2, function3,剩余参数语法会自动把所有传入的函数参数收集到functions数组中,不管你传3个还是更多都能兼容。 - 原调用代码
await mainFunction(function1, function2, function3)完全不需要修改,要添加更多函数直接追加即可,比如await mainFunction(function1, function2, function3, function4)。 - 原代码中
params对象存在笔误(重复的param3),已在示例中修正,确保参数正确传递。
内容的提问来源于stack exchange,提问作者TommyD
相关产品推荐
相关产品推荐

