Heim >Web-Frontend >js-Tutorial >Wie kann ich zusätzliche Argumente an eine JavaScript-Rückruffunktion übergeben?
Übergabe zusätzlicher Argumente an Rückruffunktionen
In JavaScript werden Rückruffunktionen häufig zum Ausführen asynchroner Vorgänge verwendet. Sie akzeptieren ein oder mehrere Argumente und werden aufgerufen, wenn der Vorgang abgeschlossen ist. Manchmal ist es notwendig, zusätzliche Argumente an eine Rückruffunktion zu übergeben.
Betrachten Sie das folgende Beispiel:
const callWithMagic = callback => { const magic = getMagic(); callback(magic); }; const processMagic = (magic, theAnswer) => { someOtherMagic(); };
Hier nimmt die callWithMagic-Funktion eine Rückruffunktion als Parameter und ruft sie mit auf ein einziges Argument namens Magie. Allerdings haben wir auch eine ProcessMagic-Funktion, die zwei Argumente erfordert: magic und theAnswer.
Um die ProcessMagic-Funktion als Argument an callWithMagic zu übergeben, müssen wir sowohl magic als auch theAnswer als Argumente bereitstellen. Eine Möglichkeit, dies zu erreichen, ist die Verwendung einer Wrapper-Callback-Funktion:
callWithMagic(function(magic) { return processMagic(magic, 42); });
In diesem Fall nimmt die Wrapper-Funktion magic als Argument und gibt das Ergebnis des Aufrufs von ProcessMagic mit magic und einem fest codierten Wert von 42 für theAnswer zurück .
Alternativ können wir ES6-Pfeilfunktionen für einen prägnanteren Ansatz nutzen:
callWithMagic(magic => processMagic(magic, 42));
Dieser Pfeil Die Funktion akzeptiert auch Magic als Argument, gibt aber implizit das Ergebnis des Aufrufs von ProcessMagic zurück.
Durch die Verwendung entweder der Wrapper-Funktion oder der Pfeilfunktion können wir ein zusätzliches Argument an die Callback-Funktion übergeben, was uns die Verwendung komplexerer Funktionen ermöglicht Rückrufe mit zusätzlichen Abhängigkeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich zusätzliche Argumente an eine JavaScript-Rückruffunktion übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!