2016-07-29 1 views
2

Quelle est la bonne façon d'interrompre une longue chaîne de fonctions composer ou tuyau? Supposons que la chaîne n'ait pas besoin de s'exécuter après la deuxième fonction car elle a trouvé une valeur non valide et qu'elle n'a pas besoin de continuer les 5 fonctions suivantes tant que la valeur soumise par l'utilisateur n'est pas valide.Comment interrompre, quitter un composer ou un tuyau?

Renvoyez-vous un paramètre non défini/vide, donc le reste des fonctions vérifie s'il n'y a pas de valeur retournée, et dans ce cas, continuez à passer le paramètre vide?

Répondre

3

Je ne pense pas qu'il existe une façon générique de gérer cela.

Souvent, lorsque vous travaillez avec algebraic data types, les éléments sont définis afin que vous puissiez continuer à exécuter des fonctions même lorsque les données que vous préférez ne sont pas présentes. C'est l'une des caractéristiques extrêmement utiles de types tels que Maybe et Either par exemple.

Mais la plupart des versions de compose ou des fonctions associées ne vous donnent pas un mécanisme d'échappement anticipé. Ramda ne le fait certainement pas.