Vuelva a intentar un paso prometedor

Supongamos que tengo la siguiente cadena de Promesa:

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

Ahora no tengo solo unotransformData función pero dos o más, almacenadas en una matriz. Quiero probar el primero, y si elcompileData la función falla, intente con la segunda y así sucesivamente hasta quecompileData tiene éxito o la matriz detransformData Las funciones están agotadas.

¿Alguien puede darme un ejemplo sobre cómo implementar esto?

Corriendo todostransformData funciones y dar la matriz de resultados acompileData no es una opción, ya que las funciones son muy caras y quiero ejecutar la menor cantidad posible de ellas.

transformData en sí también devuelve una promesa, si eso ayuda.

Respuestas a la pregunta(3)

Su respuesta a la pregunta