Hier ist ein einfaches Beispiel für die Verwendung von async.parallel
:Knoten Asynchron-Modul: Kombinieren Sie parallel mit Wiederholungs
var fakeTimer = 0;
async.parallel({
one: function(callback) {
if (fakeTimer < 2) {
callback(new Error('too soon!'), null);
fakeTimer++;
} else {
callback(null, 'I am one');
}
},
two: function(callback) {
callback(null, 'I am two');
}
}, function(err, results) {
if (err) {
console.log('failed!');
} else {
console.log(results);
}
});
Wenn diese läuft, natürlich ist es endet immer mit einem Mißerfolg. Was ich gerne tun würde, ist so lange zu versuchen, bis fakeTimer
groß genug geworden ist, dass die one
Funktion erfolgreich ist.
So könnte entweder das ganze async.parallel
versucht werden, z.B. 5 mal, oder nur die one
Funktion. Ich weiß, dass es die async.retry
Funktion gibt, aber ich kann einfach nicht meinen Kopf bekommen, wie man das mit async.parallel
kombiniert, um zu erreichen, was ich will.
Ich denke, idealerweise sollte das ganze async.parallel
versucht werden, so dass es funktioniert, wenn der Fehler in einer der parallelen Zweige auftritt, aber es wäre toll, ein Beispiel für eine allgemeine Wiederholung und eine Wiederholung pro Zweig zu sehen.