Мне нужно написать функцию карри, которая принимает функцию, выполняет другую функцию, затем выполняет вторую функцию, принимая последний аргумент в качестве значения для вычисления.
С чем я борюсь: как я могу получить доступ к первой функции и значению в конце одновременно?
Пока что я могу получить доступ к первой функции, написав функцию в синтаксисе функции и получив доступ к this.
Function.prototype.foo = function(x) {
// can't make currying functions by using functions keyword
console.log(this, x);
};
(() => 10).foo(1);
Когда я пишу функцию карри, я могу получить доступ ко второй (x) и третьей (y) функциям.
Function.prototype.bar = x => y => {
// but also can't access this like in function syntax
console.log(x, y);
}
// how would I access 10 in bar?
(() => 10).bar(1)(2);
Последняя функция будет выглядеть примерно так:
someFunc.then(someSecondFunc).then(someThirdFunc)(100)
Большое спасибо за вашу помощь!