首页 > 解决方案 > lodash 流函数有什么作用?

问题描述

我正在阅读一些使用 _.flow() 来自 lodash 的代码,文档中的解释对我来说没有意义。

医生说

创建一个函数,该函数返回使用已创建函数的 this 绑定调用给定函数的结果,其中为每个连续调用提供前一个的返回值。

举个例子:

function square(n) {
  return n * n;
}

var addSquare = _.flow([_.add, square]);
addSquare(1, 2);
// => 9

我已经读过几次了,但我无法弄清楚它的含义或该函数如何返回 9。我能想到的最接近的想法是折叠函数式编程,但这看起来不像那样。有没有其他方法可以解释流量的作用?

标签: javascriptlodash

解决方案


用更简单的术语重新定义文档中的定义:它按顺序调用数组中的方法。它使用每个函数的结果作为下一个函数的参数。在给出的示例的情况下,步骤如下:

  1. 调用_.add(1, 2),返回3
  2. 将该返回值作为参数传递给数组中的下一个函数,该函数变为square(3). 这返回9

推荐阅读