function f(x) {
console.log(x);
}
function delay(fn, sec){
return function(...args){
setTimeout(()=>{fn.apply(this,args)},sec);
}
}
// create wrappers
let f1000 = delay(f, 1000);
let f1500 = delay(f, 1500);
f1000("test"); // shows "test" after 1000ms
f1500("test1"); // shows "test" after 1500ms