首页 > 解决方案 > Lodash链函数的调试

问题描述

如何在浏览器中调试 lodash 链函数。

前任:

if (_.size(_.values(_.omit(this.user, 'language')).filter(Boolean)) < 2)

如果我们要调试_.omit(this.user, 'language'),然后使用_.values()示例中所示的另一个函数得到最终结果,应该怎么做。

我尝试搜索但只能找到 console.log 但如果我们想直接在浏览器中调试,我们该怎么做。

标签: lodash

解决方案


链函数和 lodash 序列通常被“调试”或“挖掘”到 via_.tap_.thru

tap:此方法调用拦截器并返回值。使用一个参数调用拦截器;(价值)。此方法的目的是“利用”方法链序列以修改中间结果。

所以是这样的:

const obj = { name: 'Ace', language: 'English', age: 3 }

const result = _(obj)
 .tap(x => console.log(x))
 .omit('language')
 .tap(x => console.log(x))
 .omit('age')
 .tap(x=> console.log(x))
 .value()
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>

thru:这个方法和 _.tap 类似,只是它返回拦截器的结果。此方法的目的是“通过”值替换方法链序列中的中间结果。


推荐阅读