JSFiddle - React, Tailwind, and code Playground

JavaScript

"use strict"
console.clear();

const someObj = {
  x: 'someObj.x',
  f(x) {
    console.log(this.x + ' + ' + x);
  }
}


function delay(f, ms) {
  return function() {
    setTimeout(() => {
      console.log('this', this);
      f.apply(this, arguments)
    }, ms)
  }
}

// создаём обёртки
someObj.f1000 = delay(someObj.f, 1000);
someObj.f1500 = delay(someObj.f, 1500);

someObj.f1000("test"); // показывает "someObj.x + test" после 1000 мс
someObj.f1500("test2"); // показывает "someObj.x + test2" после 1500 мс