我想知道是否有办法将附加参数传递给回调函数,除了父函数传递它之外
function wrapper() {
function functionForPassing() {
console.log('carrot');
}
function test(a, b, cb) {
cb(a,b);
}
test('apple', 'banana', function(first, second, passedFunction=functionForPassing) {
console.log(first);
console.log(second);
passedFunction();
});
}
答案 0 :(得分:0)
您可以使用rest参数执行此操作,但必须首先进行回调。 例如:
function wrapper() {
function functionForPassing() {
console.log('carrot');
}
function test(cb, ...params) {
cb(...params);
}
test(function(...other) {
let [first, second] = other; // Destructuring assignment
console.log(first);
console.log(second);
}, 'apple', 'banana', 'any', 'number', 'of', 'arguments');
}
答案 1 :(得分:0)
function wrapper() {
function functionForPassing() {
console.log('carrot');
}
function test(a, b, cb) {
cb(a, b);
}
test('apple', 'banana', function(first, second, passedFunction) {
passedFunction = passedFunction || functionForPassing;
console.log(first);
console.log(second);
passedFunction();
});
}
wrapper();
答案 2 :(得分:0)
js的分层范围为我处理这个,而不必传递我试图作为回调参数访问的对象
function wrapper() {
var other = "carrot"
function test(a, b, cb) {
cb(a,b);
}
test('apple', 'banana', function(first, second) {
console.log(first);
console.log(second);
console.log(other);
});
}
wrapper();