geschachtelte Rückrufe mit Versprechungen vermeiden

Ich bin noch neu in der Verwendung von Promise-APIs und habe Probleme damit, tief verschachtelte Promise-Ketten zu vermeiden, die meines Wissens einer der Vorteile der Verwendung von Promises sind. Wie können Sie am Beispiel des folgenden Pseudocodes vermeiden, Versprechen zu verschachteln, wenn die nachfolgenden auf dem Kontext der vorherigen beruhen?

function loadDependency1() {
    // return a promsise to load the first dependency
}

function loadDependency2(dependency1) {
    // return a promise to load the second dependency, which relies on the first dependency
}

function loadDependency3(dependency2) {
    // return a promise to load the third dependency, which relies on the second dependency
}

function doWork(dependency1, dependency2, dependency3) {
    // finally have all the things necessary to do work
}

// load all the dependencies and eventually doWork
loadDependency1().then(function(dependency1) {
    return loadDependency2(dependency1).then(function(dependency2) {
        return loadDependency3(dependency2).then(function(dependency3) {
            doWork(dependency1, dependency2, dependency3);
        });
    });
});

Antworten auf die Frage(1)

Ihre Antwort auf die Frage