Во первых, как ни крути, в твоем коде синтаксическая ошибка. У тебя там стоит одинокий слеш
/
, либо удали его, либо сделай двойным
//
, чтоб сошел за комментарий.
Во вторых, чуть что и твой код упадет. В третьих чуть что, и тебе надо менять свой код, а не просто подсунуть любую функцию на выполнение. Собственно синтаксис ES6 тебе хорошенько в этом деле может помочь.
const delayedFunction = (callback, delay) => {
return (...args) => {
setTimeout(() => {
if (callback instanceof Function) {
callback(...args);
}
}, delay);
}
}
function someFunc(a,b,c,d,e) {
console.log(a, b, c, d, e);
}
function someFunc2(...args) {
console.log(args);
}
const df1 = delayedFunction(someFunc, 1000);
const df2 = delayedFunction(someFunc2, 2000);
df1("message 1", 1,2,3);
df2("message 2",5,6,7,8,9,0);