如何将延迟函数作为参数传递给另一个函数?

时间:2016-02-07 14:17:07

标签: javascript functional-programming

我正在编写一个接收3个参数的函数。第一个参数是要应用于数组的每个元素的函数/进程,这是第二个参数,最后,最后一个参数是延迟第一个函数参数的时间。应用函数的方法在另一个函数中定义,该函数接收函数作为第一个参数,数组作为第二个参数,该函数是curried。

拿这个snipet

function a (fn){
  return function (set){
    return set.map(item => ()=> fn(item)).reduce((current,next) => /*some function*/);
  }
}

function b (fn, set, time){
  return a(setTimeout(arg => fn(arg), 1000))(set);
}

例如,a可以是一个序列。如果使用函数和集合调用a,则该函数将按顺序应用于集合中的所有项目。

b只是(以序列为例)执行序列,但我想延迟项目执行。

我无法达到我上面描述的内容而且我不知道为什么。我很想念一些事情,但我不知道是什么。

你能帮我理解吗?

0 个答案:

没有答案