Ramdaで関数型プログラミングを試してみるのは初めてのことです。私は複数の機能を構成することによってAPIのエンドポイント文字列を構築しようとしています。Ramda composeを3つ以上の関数で使用するにはどうすればよいですか?
これは動作します:
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://API.CONTENT.IO??sort=desc&part=true&query={ some: value, another: value}
を望んでいたのに対し、私はちょうどhttps://?SORT=DESC&PART=TRUE
を取得しますか?
これは素晴らしい@Scottですが、ハードコードされたパラメータを削除しても機能を維持するのに役立ちますか? http://stackoverflow.com/questions/41404875/how-do-i-pass-in-multiple-parameters-into-a-ramda-compose-chain –
私は[あなたの他の質問]に応答しました(http:// stackoverflow .com/questions/41404875)。 –