Retry ein Versprechen Schritt

Angenommen, ich habe die folgende Promise-Kette:

var result = Promise.resolve(filename)
    .then(unpackDataFromFile)
    .then(transformData)
    .then(compileDara)
    .then(writeData);

etzt habe ich nicht nur eintransformData Funktion, aber zwei oder mehr, in einem Array gespeichert. Ich möchte das erste probieren, und wenn dascompileData Funktion schlägt fehl, probieren Sie die zweite und so weiter, bis entwedercompileData ist erfolgreich oder das Array vontransformData Funktionen ist erschöpft.

Kann mir jemand ein Beispiel geben, wie man das umsetzt?

Running alltransformData funktioniert und gib das Ergebnisarray ancompileData ist keine Option, da die Funktionen sehr teuer sind und ich so wenig wie möglich davon ausführen möchte.

transformData selbst gibt auch ein Versprechen zurück, wenn das hilft.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage