Während der Schleife mit Bluebird Versprechen

Ich versuche, eine while-Schleife mit Versprechungen zu implementieren.

Die hier beschriebene Methode scheint zu funktionieren.http: //blog.victorquinn.com/javascript-promise-while-loo es verwendet eine Funktion wie diese

var Promise = require('bluebird');

var promiseWhile = function(condition, action) {
    var resolver = Promise.defer();

    var loop = function() {
        if (!condition()) return resolver.resolve();
        return Promise.cast(action())
            .then(loop)
            .catch(resolver.reject);
    };

    process.nextTick(loop);

    return resolver.promise;
};

Dies scheint Anti-Patterns und veraltete Methoden wie Cast und Defer zu verwenden.

Weiß jemand einen besseren oder moderneren Weg, um dies zu erreichen?

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage