Erstellen einer Versprechenskette rekursiv in JavaScript - Speicherüberlegungen

In diese Antworteine Verheißung, die Kette gebaut ist rekursiv.

Etwas vereinfacht haben wir :

function foo() {
    function doo() {
        //always return a promise
        if (/* more to do */) {
            return doSomethingAsync().then(doo);
        } else {
            return Promise.resolve();
        }
    }
    return doo(); //returns a promise
}

Vermutlich wäre dies Anlass zu einem call-stack und ein Versprechen Kette - sprich "Tiefe" und "Breite".

Ich würde erwarten, dass die Speicher spike größer als entweder die Durchführung einer Rekursion oder Gebäude ein Versprechen Kette allein.

  • Ist das so?
  • Hat jemand betrachtet, der Speicher Probleme, die der Aufbau einer Kette in dieser Art und Weise?
  • Würde Speicherverbrauch unterscheiden zwischen Versprechen libs?

InformationsquelleAutor der Frage Roamer-1888 | 2015-04-28

Schreibe einen Kommentar