首页 > 解决方案 > 带有可选第二个参数的回调函数

问题描述

我有两个函数作为回调函数发送到 mapFunction 方法。

问题是 mapFunction 方法返回的回调只有一个在函数内部声明的参数,并且在两个回调中它必须是第一个。

func1(param) {...}
func2(param1, param2) {...}

mapFunction(list, callback) {
 //....
 const something = 'blabla';
 // if callback has second param run callback(something, secondParam)
 return callback(something) 
}

mapFunction(list, func1);
mapFunction(list, func2); // send second param

**如果存在两个参数,我如何发送带有回调函数的第二个参数并调用带有两个参数的函数,如果不只使用 mapFunction 范围内的一个定义器调用。可能吗 ?**

标签: javascriptcallback

解决方案


JavaScript 使您可以向函数传递比在其定义中声明的参数更多的参数。所以你总是可以将两个参数传递给你的回调,而忽略第二个参数func1


推荐阅读