<任一字符串 A> 和任一<错误 A 之间有什么区别>



我是fp-ts的新手,我看到一些人在不同的文章中使用Either<string, A>和其他人使用Either<Error, A>。我想知道两者的区别,我应该如何选择使用哪一个?谢谢!

Either是帮助您从函数返回两个可能值之一的工具。传统上,它用于在流程可能失败时向调用站点发送消息。Left变量返回失败值,而Right变量返回成功值。

因此,对于Either<string, A>,该函数承诺在成功时返回Right<A>值,或者在失败时返回Left<string>值。在这种情况下,失败很可能是一个包含描述失败的消息的字符串。Either<Error, A>是类似的,除了该函数的作者使用现有的Error类来包含有关失败的信息。

由函数API的设计者决定在失败时返回什么值是有意义的,但两者都不一定是错误的。

顺便说一下,Left的值是失败的,Right的值是成功的只是惯例。有一个函数在某些情况下返回Either<number, string>number,在其他情况下返回string,这是完全有效的。

相关内容

  • 没有找到相关文章