使用lodash进行显式链接并不适用于快捷方式融合

时间:2018-04-18 07:57:49

标签: javascript node.js lodash

在使用lodash时,我发现当我使用隐式链接时它应用了快捷方式融合。

$ node -e 'const _ = require("lodash"); _([1,2,3]).map(n => { console.log(n); return n }).find(n => n <= 1)'
1

但是当我将此代码段更改为使用显式链接时,它不会应用快捷方式融合。

$ node -e 'const _ = require("lodash"); _.chain([1,2,3]).map(n => { console.log(n); return n }).find(n => n <= 1).value()'
1
2
3

正如您所看到的,传递给map的函数被调用了三次而不是一次,这表明lodash没有应用快捷方式融合。

从他们的文档中,似乎应该在两种情况下应用快捷方式融合。

  1. 这是预期的行为吗?
  2. 如果是,他们会在文件中解释这种行为吗?
  3. 有没有办法将快捷方式融合应用于显式链接?
  4. 我在node.js v8.10.0上使用lodash 4.17.5。

1 个答案:

答案 0 :(得分:1)

我在他们的GitHub项目中找到了a ticket这个问题。

  

出乎意料,但现在就是这样。