我尝试柯里化(Currying)一个函数,我在类 someClass
中定义该函数,如下所示:
class SomeClass extends AnotherClass {
_someFunc(arg1) {
const foo = arg1.map(bar => {
return function(arg2) {
bar[arg2];
}
});
return foo;
}
yetAnotherMethod() {
...
somenewFunc()
}
someMethod()
...
const someNewFunc = this._someFunc(someVar)("abc");
....
}
在同一个类中,我有一个方法someMethod()
,我尝试在其中调用我的
当我启动我的应用程序时,我得到
this._someFunc(...) is not a function
这是为什么?
最佳答案
你可以这样做:
const someNewFunc = this._someFunc(someVar)[0]("abc");
SomeFunc 返回一个数组。这将从该数组中取出第一个函数并调用它。 如果你想获取数组中的所有值,可以这样做:
_someFunc(arg1,arg2) {
return arg1.map(bar =>bar[arg2]);
}
const someNewFunc = this._someFunc(someVar,"abc");
或者如果你希望它是一个函数:
_someFunc(arg1) {
return function(arg2){
return arg1.map(bar =>bar[arg2]);
}
}
const someNewFunc = this._someFunc(someVar)("abc");
关于javascript - 柯里化(Currying)返回 "... is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158997/