在使用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。