使用loDash的显式链接不应用快捷方式融合 [英] Explicit chaining with lodash doesn't apply shortcut fusion

查看:18
本文介绍了使用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

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

这篇关于使用loDash的显式链接不应用快捷方式融合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆