Node.js,如果我有很多回调函数,这是最有效的堆栈方法



使用异步瀑布或使用一个接一个堆叠的.then(函数),这几乎可以做同样的事情。现在我遇到了这两种书写函数的方法。

您可以使用https://github.com/tj/co。它使用promise以更好的方式编写非阻塞代码。例如

co(function* () {
  var result = yield Promise.resolve(true);
  return result;
}).then(function (value) {
  console.log(value);
}, function (err) {
  console.error(err.stack);
});

可以使用async.waterfall(只有当您需要执行函数的顺序以及一个函数的结果/输出传递给下一个函数时才使用它),否则我将使用async.parall或async.series

最高效的。。在什么方面?易于维护?快速的

根据我的经验,在这类事情上关注速度是不值得的。即使其中一个比另一个快100%,任何速度的提高都很可能比网络延迟低几个数量级。

选择一个你认为最容易理解/维护的。如果您的代码运行速度太慢,请对其进行基准测试,找出运行速度最慢的部分并加以改进。

最新更新