使用ramda
,我试图找到(或构建)一个非常简单的运算符,它需要一个函数并返回一个函数,该函数在返回一个进行实际调用的新函数之前会询问它的参数。您可以将此视为“延迟”调用。正如下面的回复所指出的,这通常称为thunk
。
基本上,
const wrap = fn => (...args) => () => fn(...args);
const sayHiWorld = wrap(console.log)('hi', 'world');
sayHiWorld();
// -> 'hi world'
部分应用程序在我的情况下不起作用,因为args实际上在定义时不知道。我得到的最近的是使用R.useWith
- 但这会限制参数的数量。
有什么想法吗?