var arr = [functionA(), functionB(), functionC()]
var data = { /** some data */ }
Как я могу динамически добавлять функции из списка arr и добавлять их в канал ramda.
Ожидаемый код:
const newFn = pipe(functionA, functionB, functionC)
newFn(data)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


const buildPipe = apply(pipe);
const add3 = buildPipe([inc, inc, inc]);
const add4 = buildPipe([inc, inc, inc, inc]);
console.info(add3(1));
console.info(add4(2));<script src = "https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>
<script>const {apply, pipe, inc} = R;</script>Просто используйте оператор спреда es6, который будет распространять элементы массива в качестве аргументов функции канала.
Кроме того, не вызывайте свои функции в массиве, если они не возвращают нужную вам функцию :)
const arr = [functionA, functionB, functionC]
const data = { /** some data */ }
const newFn = pipe(...arr)
newFn(data)
как упоминалось в другом посте, собственный
function.applyтакже будет работать так же, как и использование функцииR.apply.