假设您有以下代码:
import R from "ramda";
import S from "sanctuary";
import { Left, Right } from "sanctuary-either";
const add = R.curry((p1, p2) => p1 + p2);
const addOne = add(1);
const func1 = () => Right(2);
const func2 = () => Right(7);将addOne与func1或func2结合起来相对容易:
const res = R.compose(
S.map(addOne),
func1
)(); 但是如何使用func1和func2作为参数来调用add呢?
附注:我知道ramda提供了一个add函数。把这个例子看作是一个现实世界问题的抽象。
发布于 2020-03-22 05:30:08
您可能正在寻找lift2 function
const addEithers = S.lift2(add)
console.log(addEithers(func1())(func2()))或者,您可以使用ap
S.ap(S.map(add)(func1()))(func2())https://stackoverflow.com/questions/60793428
复制相似问题