Работая с 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 не применил слияние ярлыков.
Судя по их документу, в обоих случаях должно применяться сочетание клавиш.
- Это намеренное поведение?
- Где в документе они объясняют это поведение, если это так?
- Есть ли способы применить слияние ярлыков с явной цепочкой?
Я использую lodash 4.17.5 на node.js v8.10.0.