Способ обеспечить «это» в глобальном масштабе?

Я работаю сdebounce функция найденаздесь, в этом сообщении stackoverflow, Это обещание, которое позволяет регулировать запросы.

Функция debounce по какой-то причине не будет работать, если она вложена в функцию, потому чтоsetTimeout кажется, что звонки на запрос отправляются сразу. На это нужно ссылаться напрямую, я думаю.

Я не могу сделать что-то подобное, потому что на это нужно ссылаться напрямую

function bounced(item){
  return debounce(mockRequest, 800, 5)(item)
}

Вот как это следует использовать

var bounced = debounce(mockRequest, 800, 5)

Проблема в том, что я создаю объект API, подобный этому, и ни один из параметров не будет работать

API.prototype.request = function(options){
  return this.debounce(this.makeRequest, 1000, 2)(options)
}

API.prototype.request = this.debounce(this.makeRequest, 1000, 2) // duh

Я ищу какой-то способ использованияthis и не вызывать метод debounce напрямую.

В идеале что-то вроде этого было бы неплохо

API.prototype.request = function(){
  return this.debounce(this.makeRequest, 1000, 2)
}()

Ответы на вопрос(1)

Ваш ответ на вопрос