我正在编写一个接收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
只是(以序列为例)执行序列,但我想延迟项目执行。
我无法达到我上面描述的内容而且我不知道为什么。我很想念一些事情,但我不知道是什么。
你能帮我理解吗?