怎么写这个没有意义?

时间:2019-05-24 11:43:20

标签: javascript ramda.js

我可以使用ramda编写此代码吗?

const getJobs = data => anotherF('/jobs', data)

也许类似

const getJobs = anotherF('/jobs', nthArg(0))

谢谢

2 个答案:

答案 0 :(得分:4)

如果anotherF已经是咖喱函数,那么您只需编写

const getJobs = anotherF('/jobs')

所以,如果它不是咖喱的,或者您不知道,可以写

const getJobs = curry(anotherF)('/jobs')

但是有充分的理由想知道为什么这样做值得。我是Ramda的创始人之一,并且是我的忠实拥护者,但我认为它可以作为使我的代码更易于阅读和编写的工具包。其他用途似乎是误用。

答案 1 :(得分:2)

您可以使用R.partial将/jobs'应用于函数,并返回一个期望data的新函数:

const anotherF = (path, data) => console.log(path, data)

const getJobs = R.partial(anotherF, ['/jobs'])

getJobs('data')
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>