我的同步代码接近数千行。我想将它们分成一些组并将其放在async.auto中(一组是async.auto中的一个函数)。每个函数都有名称。我这样做是因为我想让其他人在将来轻松维护。代码分为组,因此易于理解。我想知道async.auto与不使用它时相比会导致性能下降
do some stuff;
do some stuff;
do some stuff;
...
do some stuff;
我想改为:
async.auto({
do_A: function(cb){
do some stuff;
do some stuff;
},
do_B: ['do_A', function(cb, result){
do some stuff with result;
do some stuff with result;
}]
}, function(err, result){
})
答案 0 :(得分:0)
你绝对应该把它分开并将它作为单独的函数放入async.auto中,但是通常使用大块的同步代码,代码的不同部分之间会有很多耦合,而你却没有意识到。我的建议是非常小心地将其拆分,每次创建新组时进行测试,并在开始下一次更改之前将更改提交给SCM(例如git)。这样,当您发现问题时,您可以返回并找出引入问题的位置。
我不太了解性能影响会是什么,但我认为它会很小。您最好的选择(与任何性能问题一样)是在分析器中进行测试。除非您让它无序运行某些功能,否则您将无法获得任何性能好处。如果每个块都依赖于前一个块,那么它将全部按顺序运行。