0
と並行を組み合わせここasync.parallel
の使用の簡単な例です:ノードの非同期モジュール:再試行
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);
}
});
これを実行すると、もちろん、それは常に失敗に終わります。私がしたいのは、fakeTimer
が十分に大きくなり、one
関数が成功するまで、再試行を続けます。
したがって、async.parallel
のいずれかを再試行できます。 5回、またはone
機能のみ。私はasync.retry
機能があることを知っていますが、私はちょうどそれを組み合わせる方法について私の頭を得ることができませんasync.parallel
と私が欲しいものを達成する。
私は理想的にはasync.parallel
全体を再試行しなければならないと思うので、並列ブランチのいずれかでエラーが発生した場合は動作しますが、全体的な再試行とブランチごとの再試行の例を見ると素晴らしいでしょう。