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
을 다시 시도해야합니다. 따라서 병렬 분기에서 오류가 발생하면 작동하지만 전체 재시도 및 분기 별 재 시도의 예를 보면 좋을 것입니다. 다음