JavaScript · Senior · Frage 25 von 75

Warum ist es wichtig, in einer Debounce-Umsetzung this und die Argumente zu erhalten?

function debounce(fn, ms) {
  let t;
  return function (...args) {
    clearTimeout(t);
    t = setTimeout(() => fn.apply(this, args), ms);
  };
}
Antwort zeigen

Richtige Antwort: Sonst verliert die umhüllte Methode Kontext und Aufrufparameter

Erklärung

Der Wrapper muss transparent sein: Ein Aufruf von obj.save(data) über Debounce muss fn mit demselben this und denselben Argumenten erreichen. Deshalb liefert man eine normale Funktion (sie hat ihr eigenes this), und im Timer erhält eine Arrow Function es.

Zum Weiterlesen

Fehler in der Frage

JavaScript · Senior · Frage 25

Teste dich selbst

Mach den Test JavaScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen