Einführung
In diesem Lab werden wir untersuchen, wie man eine Funktion, die ein Array akzeptiert, in eine variadische Funktion mit JavaScript umwandeln kann. Wir werden dies erreichen, indem wir eine Closure erstellen, die alle Eingaben in eine array-akzeptierende Funktion sammelt. Am Ende des Labs werden Sie ein besseres Verständnis dafür haben, wie man in JavaScript Funktionen manipulieren kann, um sie flexibler und an verschiedene Anwendungsfälle anzupassen.
Umwandeln einer Funktion in eine variadische Funktion
Um eine Funktion, die ein Array akzeptiert, in eine variadische Funktion umzuwandeln, können Sie die folgenden Schritte ausführen:
Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen.Geben Sie eine Closure zurück, die alle Eingaben in eine array-akzeptierende Funktion sammelt.
const collectInto =
(fn) =>
(...args) =>
fn(args);
- Verwenden Sie die
collectInto-Funktion, um eine Funktion in eine variadische Funktion umzuwandeln.
const Pall = collectInto(Promise.all.bind(Promise));
let p1 = Promise.resolve(1);
let p2 = Promise.resolve(2);
let p3 = new Promise((resolve) => setTimeout(resolve, 2000, 3));
Pall(p1, p2, p3).then(console.log); // [1, 2, 3] (nach ca. 2 Sekunden)
Dadurch können Sie in Ihrer Funktion beliebig viele Argumente akzeptieren und sie in einem Array sammeln, um sie weiter zu verarbeiten.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Convert Function to Variadic" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.