및 mongoose으로 시작하는 경우 컬렉션에서 일괄 처리 작업을 수행해야하는 경우가 있습니다. 그러나 일반적으로 노드 j에는 동시성이 코딩 된 까닭 인 콜백이 포함됩니다. 그래서 기본적으로노드에서 비동기 및 재귀
//given a collection C
var i = 0;
var doRecursive = function(i){
if(i<C.length){
C[i].callAsync(err,result){
i=+1;
return doRecursive(i);
}
}else{
return done();
}
}
doRecursive(i);
지금 내가 노드와 stackover 흐름을 얻기 전에 최대 스택 무엇인지 기억 해달라고,하지만 난 10 개 000 요소로 생각, 그것은 늘 않습니다. 처리 할 수있는 다른 방법이 있는지 궁금합니다. 그렇다면 무엇입니까? 감사가
음에
을 변경하여 장기 실행 작업을 연기 할 수 있습니다 호출 스택. 그러나 다른 스택으로 나눠서, 쓸모없는'return'을 렌더링합니다. –
[async] (https://github.com/caolan/async)를보세요 –