//An N-tuple (quadruple?) that is a subset of a row
type Quadruple = [string, string, number, boolean];
//A value that is a subset of a row
type Value = [string];
//A row in the format [...Quadruple[], ...Value[]]
type Row = (string | boolean | number)[]; //this works...but information is lost.
const egRow1: Row = ["id", "name", 1, true, "id2", "name2", 1, true, "id3", "name3", 1, false, "value1", "value2"];
const egRow2: Row = ["id", "name", 1, true, "id2", "name2", 1, true, …Run Code Online (Sandbox Code Playgroud) 我必须并行进行一系列 IO 调用,如果成功则合并调用的内容。如果一个失败,其他人将按正常方式处理,但会显示错误消息。
我关于如何实现这一点的思考过程:
Array<TE<E, A>> -> TE<E, Array<A>> -> TE<E, MergedA> -> [E, A]
我目前在做什么:
我目前正在对一组 TE 进行排序,但链中的任何故障都会产生一个左值。
pipe(
sequenceT(TE.taskEither)(arrayofTE), //TE<E,A>[] -> TE<E,A[]>
TE.map(mergeFn), //TE<E, A[]> -> TE<E, MergedA>
???
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能阻止短路?