Wie kann der globale Geltungsbereich "dies" bereitstellen?

Ich arbeite mit einemdebounce Funktion gefundenhier in diesem Stackoverflow-Beitrag. Es ist ein Versprechen, das Drosselung von Anforderungen ermöglicht.

Die Entprellfunktion funktioniert aus irgendeinem Grund nicht, wenn sie in einer Funktion verschachtelt ist, da dassetTimeout Anrufe auf die Anfrage scheinen auf einmal gesendet zu werden. Ich denke, es muss direkt referenziert werden.

Ich kann so etwas nicht machen, weil es direkt referenziert werden muss

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

Dies ist, wie es verwendet werden sollte

var bounced = debounce(mockRequest, 800, 5)

Das Problem ist, dass ich ein API-Objekt wie dieses erstelle und keine der beiden Optionen funktioniert.

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

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

Ich suche nach einer Möglichkeit, @ zu verwendthis und die Entprellmethode nicht direkt aufrufen.

Ideally so etwas wäre nett

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage