例如,我有这样的代码(coffeescript):
这个方法以后可能会被其他 lodash 方法链接。同时,其值可能需要被提取。我只是在想它是否会缓存结果。在文档中没有找到它的实现方式。
对于以下情况,它将被计算一次还是两次?
sortedLatLng = _(w)
.sortBy (x) -> x.time
.map (x) -> [x.longitude,x.latitude]
.uniq((x)-> x[0].toFixed(3) + "," + x[1].toFixed(3)) # keep three decimal to merge nearby points
console.log(sortedLatLng.value())
myFunction1(sortedLatLng.value())
myFunction2(sortedLatLng.value())
console.log(sortedLatLng.reverse().value())
这个方法以后可能会被其他 lodash 方法链接。同时,其值可能需要被提取。我只是在想它是否会缓存结果。在文档中没有找到它的实现方式。
对于以下情况,它将被计算一次还是两次?
myFunction1(sortedLatLng.value())
myFunction2(sortedLatLng.value())
有人对此有什么想法吗?
.value()
调用进行严格比较,您可以轻松地解决这个问题。 - idbeholdlodash
库已经遇到了三次问题。我得到了意外的结果,而且我也在想lodash
是否正在执行一些我没有预料到的缓存操作。对我来说,在我的测试中所有的结果似乎表明lodash
生成的对象以某种不方便我所需的方式持续存在/缓存。 - CtheGood