Was ist der Unterschied zwischen Promise.any und Promise.race?
Frontend
* Die Funktion nimmt ein Array von Promises (wir gehen davon aus, dass es nicht leer ist) und gibt eine Promise zurück. * Wenn eine der übergebenen Promises aufgelöst wird (erfolgreich ausgeführt), wird die zurückgegebene Promise mit diesem Wert aufgelöst. * Wenn mehrere Promises erfolgreich ausgeführt werden, wird die zurückgegebene Promise * mit dem ersten erfolgreichen Wert aufgelöst, unabhängig von der Reihenfolge der Promises im Array. * Wenn alle übergebenen Promises abgelehnt werden, wird die zurückgegebene Promise mit einem Fehler vom Typ AggregateError abgelehnt, der alle Fehler gruppiert, unter Berücksichtigung der Reihenfolge der Promises. * Ein AggregateError kann folgendermaßen erstellt werden: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // dein Code hier }
Was passiert, wenn eine der Versprechen in der Funktion sumPromises abgelehnt wird?
Was passiert, wenn keine Versprechen an die Funktion sumPromises übergeben werden?
Was ist der Unterschied zwischen Promise.all und Promise.allSettled?
Was passiert, wenn eine leere Funktionsliste an compose übergeben wird?
Warum können Fehler in der Funktion any nicht über push hinzugefügt werden, sondern müssen per Index geschrieben werden?
Implementieren Sie die Funktion sumPromises, die Versprechen als Argumente akzeptiert und die Summe ihrer Ergebnisse zurückgibt. Die Funktion kann eine beliebige Anzahl von Argumenten akzeptieren. Sie können jede Promise-API verwenden.
Implementieren Sie eine Funktion compose, die eine variable Anzahl von Funktionen akzeptiert und eine neue Funktion zurückgibt. Das Ergebnis jeder Funktion wird an die nächste weitergegeben.
Warum könnte die Methode apply in der Implementierung von runOnce notwendig sein?
Implementieren Sie die Funktion isMonotonic, die ein Array von Zahlen entgegennimmt und bestimmt, ob es monoton ist (steigend oder fallend). Gibt true zurück, wenn das Array monoton ist, sonst false. Implementieren Sie mit einer linearen Komplexität O(n).
Implementieren Sie eine Wrapper-Funktion runOnce, die eine Funktion akzeptiert und eine neue Funktion zurückgibt. Die neue Funktion kann nur einmal aufgerufen werden, alle nachfolgenden Aufrufe geben undefined zurück. Die eingehüllte Funktion kann Argumente akzeptieren und ein Ergebnis zurückgeben.
Kennst du das Pipe-Muster? Worin unterscheidet es sich von compose?
Welche Option ist schneller: Promise.all oder eine Schleife mit await bei jedem Schritt? Warum?
Wozu dient der Zähler rejectedCount? Warum einfach nur die Länge des Arrays errors betrachten?