0
我在我的NodeJS应用程序下面的代码:优雅的方式等回调之后调用回调函数返回
function someFileOperation(callback) {
var files = ...;
files.forEach(function (file) {
doSomethingAsync(file, function (err, result) {
});
});
}
什么是优雅的方式来调用someFileOperation()的回调情况下,所有doSomethingAsync()调用它们的回调函数并仅在doSomethingAsync()中发生错误时调用它一次?
现在,我想出了这样的事情:
function someFileOperation(callback) {
var files = ...;
var noFiles = files.length;
files.forEach(function (file) {
doSomethingAsync(file, function (err, result) {
if (err) {
callback(err);
callback = function() {}; // I don't want it to be called again
} else if (--noFiles <= 0) {
callback(null, true);
}
});
});
}
但我认为这是这样一个简单的任务很大的开销。所以我要寻找一个更优雅的方式或许为这些类型的问题
有点框架
完美。正是我需要的。谢谢! – tyrondis