ramda.js - 如何创建一个延迟调用给定函数的函数?
问题描述
使用ramda
,我试图找到(或构建)一个非常简单的运算符,它需要一个函数并返回一个在返回一个进行实际调用的新函数之前询问其参数的函数。您可以将其视为“延迟”调用。正如下面的回复所指出的,这通常被称为 a thunk
。
本质上,
const wrap = fn => (...args) => () => fn(...args);
const sayHiWorld = wrap(console.log)('hi', 'world');
sayHiWorld();
// -> 'hi world'
在我的情况下,部分应用程序不起作用,因为在定义时实际上不知道 args。我得到的最接近的是使用R.useWith
- 但这限制了参数的数量。
有任何想法吗?
解决方案
推荐阅读
- postgresql - 在类似 WHERE NOT IN 的子句中使用数组变量
- java - 如何同时运行两个 selenium python 程序
- javascript - 从 html 调用的 setInterval() 函数的返回值
- python - 用正则表达式替换多行
- node.js - 在 ES6 node.js 项目单元测试中为 express 中间件创建存根函数
- embedded - 在 Nucleo-F446RE 上通过 CANBUS 进行引导加载程序访问
- javascript - windows.location.href 在 javascript 中不起作用
- python - 我无法在模拟中获得弹簧
- python - 在python列表中选择多个元素
- python - 如何获得嵌入的 ID | 不和谐.py