使用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没有应用快捷方式融合。
从他们的文档来看,这两种情况似乎都应该应用快捷方式融合。
- 这是故意的行为吗?
- 如果有,他们在文档的什么地方解释这种行为?
- 是否有任何方法可以应用带有显式链接的快捷方式融合?
我在node.js v8.10.0上使用loDash 4.17.5。
解决方案
我在他们的GitHub项目中找到了有关此问题的a ticket。
这是意想不到的,但目前是这样。
相关文章