看一下下面的代码结构:
myFunction(
_(myArray)
.filter({ keep: true })
.uniq('id')
.value()
);
myFunction()
使用 lodash 进行某些数组转换的结果作为其参数。虽然我喜欢代码的风格,但我发现很难调试并最终重构它以将 lodash 代码放入另一个函数中或首先将其分配给变量,然后将变量传递给myFunction()
.
您知道在不重构的情况下调试函数参数代码的有效方法吗?一些想法:
- 按原样,无法添加
console.log
就位了。
- 在 Chrome DevTools 中,无法设置断点,例如之间
.filter()
and .uniq()
最好的方法是插入步骤:
.tap(console.log)
其他方法:
创建mixin函数
var debug = function (val) {
console.log(val);
return val;
}
_.mixin({'debug': debug})
并像这样使用它
_(myArray)
.debug()
.filter({ keep: true })
.debug()
.uniq('id')
.debug()
.value()
或者您可以在使用之前覆盖 lodash 函数,例如
_.filter = _.wrap(_.filter, function(func, val) {
console.log(func(val));
return func(val);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)