du die jede Funktion im async package mit lösen können. Beispiel:
async.each(elements, function(element, callback) {
// - Iterator function: This code will be executed for each element -
// If there's an error execute the callback with a parameter
if(error)
{
callback('there is an error');
return;
}
// If the process is ok, execute the callback without any parameter
callback();
}, function(err) {
// - Callback: this code will be executed when all iterator functions have finished or an error occurs
if(err)
console.log("show error");
else {
// Your code continues here...
}
});
Auf diese Weise Ihr Code asynchron ist mit Ausnahme der Callback-Funktion (die Iterator funcions gleichzeitig ausgeführt werden), die ausgeführt wird, wenn alle fertig sind.
würde das Beispiel mit Ihrem Code sein:
var elements = [1 .. n];
async.each(elements, function(element, callback) {
User.find(where { name: 'john'}, function(u) {
if(err)
{
callback(err);
return;
}
// Do things ...
callback();
});
}, function(err) {
if(err)
console.log("show error");
else {
// continue processing
}
});
Was genau wollen Sie mit der Schleife erreichen? – amenadiel
Versuchen Sie, ein Versprechen zu verwenden. Werfen Sie einen Blick auf: http://howtonode.org/projects – Sid