這是我第一次嘗試用Ramda進行函數式編程。我正在嘗試通過組合多個函數來構建api端點字符串。如何使用拉達與兩個以上的功能?
這工作:
const endpoint = str => str && str.toUpperCase() || 'default'
const protocol = str => `https://${str}`
let finalEndpoint = R.compose(protocol, endpoint)
var result = finalEndpoint('api.content.io')
結果是現在https://API.CONTENT.IO
預期
但現在我要更多的功能添加到這個管道:
const params = val => `?sort=desc&part=true`
const query = val => `query={ some: value, another: value}`
但是,當我嘗試撰寫一切一起像這樣:
let finalEndpoint = R.compose(protocol, endpoint, params, query)
var result = finalEndpoint('api.content.io')
我只是得到https://?SORT=DESC&PART=TRUE
而我想
https://API.CONTENT.IO??sort=desc&part=true&query={ some: value, another: value}
什麼樣的組合鏈接和組成做我用它來得到上面的結果呢?
這是優秀的@Scott,但你能幫我刪除硬編碼的參數,仍然保持功能? http://stackoverflow.com/questions/41404875/how-do-i-pass-in-multiple-parameters-into-a-ramda-compose-chain –
我回答了[你的其他問題](http:// stackoverflow .COM /問題/ 41404875)。 –