我正在努力:
我正在使用lodash,如果我写这个声明
_.each(_.filter(sut.Nodes, nodeFilter), test);
测试函数执行过滤的集合长度时间
但是,如果我写这样的声明
_(sut.Nodes)
.filter(nodeFilter)
.map(test);
测试功能不会随时执行。
有人可以解释原因吗?。
我认为是懒惰相关的东西。如果是,我该怎么解雇执行?
答案 0 :(得分:4)
链接表达式是“懒惰的”,因为在您请求结果之前它们不会被执行。例如,您可以在链的末尾使用.value()
来执行此操作:
_(sut.Nodes)
.filter(nodeFilter)
.map(test)
.value();