有没有ramda功能可帮助您将日志记录添加到管道/组成中?

时间:2018-08-31 19:27:37

标签: javascript functional-programming ramda.js

我想将日志记录添加到这样的功能组合链中

const f = R.compose(
  transformation2,
  doAlso(x => console.log(`id: ${x.id}`)),
  transformation1
)

首先应用transformation1,然后记录结果值的ID,然后再将其传递给transformation2

实施起来很容易

doAlso = f => x => {
  f(x)
  return x
}

但似乎这应该是一个非常常见的模式。这个概念叫什么吗?像ramda这样的FP库中是否存在类似的功能?

1 个答案:

答案 0 :(得分:3)

此功能在Ramda中称为tap