用ramdajs简化函数

2016-12-23  本文已影响156人  方健

有这么一种情况,一个函数有多个参数,有些参数已经确定,要从参数表中消去。得到参数更少的简化函数。这个过程,可以用curry化来完成。

例如,有一个函数,用于发起GET请求,读取网页上一个内容。这个内容采用了RESTful的接口。请求数据的url为 http://host/something/_id

函数签名: getData(prefix,id)

调用举例:getData('http://host/something/',1)

当prefix已知时,我希望简化这个函数。构造函数getPost(id)

getPost(id) <=> getData('http://host/post/',id)

以前我的做法是:

function getPost(id){
  return getData('http://host/post/',id)
}

这样固然是可以的,但是如果有大量这样的包装函数要写,也是很麻烦的事。

ramdajs,可以简单一点。

const _getData= R.curry(getData);
const getPost=_getData('http://host/post/')
上一篇下一篇

猜你喜欢

热点阅读