使用异步瀑布或使用一个接一个堆叠的.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%,任何速度的提高都很可能比网络延迟低几个数量级。
选择一个你认为最容易理解/维护的。如果您的代码运行速度太慢,请对其进行基准测试,找出运行速度最慢的部分并加以改进。