所以我们使用非常好的 ramda工作中的库,这很棒,因为我们能够使用基本上无点的代码风格。这样做的问题是,当出现问题时,指向我们代码中某些东西的地方要少得多;大多数运行时错误的发生是因为误用了组合的 ramda 函数。将其与将这些函数传递给一个使用大量重定向的框架(我们在 react/redux 上)相结合,并且通常当出现问题时,它在仅限库的代码中很深,很难找出我去了哪里错了。
有没有办法在不放弃无点样式的情况下缓解这个问题?
最佳答案
一种选择是使用 R.tap
,像这样:
const f = R.pipe(
R.tap(console.log), // logs x
g,
R.tap(console.log), // logs g(x)
h,
R.tap(console.log), // logs h(g(x))
i,
R.tap(console.log), // logs i(h(g(x)))
j,
R.tap(console.log) // logs j(i(h(g(x))))
);
f(x);
另一种选择是使用 Sanctuary ,当函数应用于错误类型的参数时会引发信息性异常。
关于javascript - 免点调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40289989/