在管道功能内部检查值

时间:2017-05-11 03:05:26

标签: functional-programming ramda.js

如果olefredrik/FoundationPress解析了未定义的值,则应执行R.cond函数并将值传递给pipe函数...

pipe

1 个答案:

答案 0 :(得分:2)

要测试某个值是null还是undefined,您可以使用R.isNil。与R.complement组合子结合使用时,当应用于 true / null的值时,这将生成一个评估为undefined的函数

这可用于将您的示例更新为:

const resolveCond = pipe(
  condToRes,
  when(complement(isNil), pipe(format, publish))
);

或者,可以使用R.unless代替R.when,这样就无需使用R.isNil包裹R.complement

const resolveCond = pipe(
  condToRes,
  unless(isNil, pipe(format, publish))
);

这两种方法都是等价的,但R.unless可能会更好一些。