장바구니 작성 프로세스에 유효성 검사 기능을 추가하고 싶습니다. 이 검증 함수 배열을 수신하고, 각각의 반복에 대해, ... 데이터베이스 일부 값 거기NodeJS의 forEach 내부에서 비동기 작업이 제대로 수행됨
코드
async.map(eventPricings, function(priceItem, done) {
var eventPricing = new EventPricing(priceItem);
eventPricing.find(false, function(err, eventPricingFound) {
if(err) {
result.success = false;
result.errors.push("The EventPricing identifier : '"+eventPricing.id+"' does not exist");
} else {
if(priceItem.quantity > eventPricingFound.quantityPerUser) {
result.success = false;
result.errors.push("Quantity exceed per user for eventPricing identifier "+eventPricing.id);
}
else result.pendingTickets.push({quantity:priceItem.quantity, eventPricingId:eventPricingFound.id, price:eventPricingFound.price});
}
i++;
if(i == eventPricingsCount) done(result);
});
}, function(resultArray) { /* Some stuff here */ });
find
방법은 서버 측과 자원을 가져올 비동기 함수를 확인할 수있다. 이 함수의 콜백에서 필자는 테스트를 진행하고 테스트가 통과하면 배열에 내 이벤트 가격을 추가합니다 ...
이 코드 부분을 검토하고 싶습니다. 특히 제거를 원합니다 프로세스를 차단 해제 할 수있는 마지막 줄은
i++;
if(i == eventPricingsCount) done(result);
아이디어가 있으십니까?
나는 현재 다른 기능에 Q를 사용하고있어,하지만 난이 특정 사건에 대한
덕분에 많은
답장을 보내고 미안합니다. 내 대답을 업데이트하고 해결 된 것으로 표시했습니다. 그렇게하는 효과적인 방법이라고 생각하십니까? – Chilipote