【发布时间】:2020-07-30 22:41:21
【问题描述】:
我有一个字符串列表,string[]
我映射了一个返回Either<Error, string>[]的验证函数
我想要[Error[], string[]],所有验证错误和所有验证字符串。
sequence(Either.Applicative) 或 traverse(Either.Applicative) 能否返回遇到的所有错误?我只收到Either<Error, string[]>,只是返回的第一个错误。我是否需要编写自己的 Applicative,一个包含左右合并的 Semigroup 的东西?
通过使用fold 将map 更改为reduce,我能够得到所有错误。
我还考虑过反转验证,然后运行两次。一个函数返回有效字符串,一个返回错误。
【问题讨论】:
标签: fp-ts