使用loDash的显式链接不应用快捷方式融合

2022-06-30 00:00:00 node.js javascript 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. 是否有任何方法可以应用带有显式链接的快捷方式融合?

我在node.js v8.10.0上使用loDash 4.17.5。


解决方案

我在他们的GitHub项目中找到了有关此问题的a ticket。

这是意想不到的,但目前是这样。

相关文章