当我遇到障碍时,我正试图在fp-tslocalStorage
中编写一个包装器。我想处理值以及抛出的异常,所以我从这段代码开始:null
localStorage
import * as IOE from "fp-ts/IOEither";
import * as O from "fp-ts/Option";
const getItem = (key: string): IOE.IOEither<Error, O.Option<string>> =>
IOE.tryCatch(
() => O.fromNullable(localStorage.getItem(key)),
E.toError
)
上面的函数有一个返回签名IOEither<Error, Option<string>>
。我想将 合并Option
到 中IOEither
,即得到一个IOEither<Error, string>
. 我将如何实现这一目标?
PS 我想上述问题在TaskEither<Error, Option<string>>
.