0
카테고리별로 제품을 검색하려고합니다. 먼저 병렬 처리를하고 싶습니다. 먼저 대기 조건을 작성하거나 이상적인 방법으로 작성할 수 없습니다. 부모 함수가 모든 제품이 데이터베이스에서 검색되었음을 알리는 콜백 메소드.Q 또는 Async를 사용하여 NodeJS의 병렬 호출 및 대기 조건
나는 모든 솔루션에 개방적이라고 생각합니다. 여기 비동기를 사용했지만 Q (https://github.com/kriskowal/q/wiki/Examples-Gallery)를 선호합니다. Mongoose 및 MongoDB 작업에서 훨씬 더 나은 선택 인 것 같습니다.
var temp = []
Async.each([1,2,3,4,5,6,7,8,9...n],
function (item, callback) {
database.getProductsByTaxonomy(item, function (err, products) {
temp = new Object();
temp.TaxonomyID = item;
temp.Products = products;
results.push(temp);
callback(err, products);
});
},
function (err) {
console.log(err);
});
<<wait for all .each call completes>>
return temp; // or callback (err, temp); // or emit?
모든 솔루션은 무엇입니까? 당신의 DB 오히려 약속보다 콜백을 사용하는 경우, 당신은 약속으로 바꿀하기 Q.ninvoke()
를 사용할 수
return Qx.map(arr, function (item) {
return getPromiseFromDb(item).then(function(products) {
return { taxonmyId: item, products: products };
});
});
:
괜찮 았지만 알아낼 수 없으므로 예제를 자세히 설명해 주시겠습니까? Q와 Qx에 대한 지식이 부족합니다. 간단한 작업 예제. –
@NilayParikh : 이것은 간단한 작업 예제입니다. 어떤 부분을 이해하지 못하니? – SLaks