0
내 사진 find()
이 완료되기 전에 아래 코드가 비동기 콜백을 실행 중입니다. 이 호출 될 때까지 async.forEach
이 (가) 실행되지 않았다고 생각했습니다.비동기 forEach 다음 메소드가 대기하지 않습니다.
내 사진 [0]이 카테고리와 같은 순서로 나옵니다. item.strId가 전달되었습니다. 지금 당장 그 방식으로 작동하지 않으며 임의의 주문을 반환합니다. forEach의 다음 루프가 일어나기 전에 약속을 기다릴 수있는 방법이 있을까요? 비동기의 콜백이 무엇인지 생각했습니다. 또는 나는 그것을 오해하고있다. 내 mongoose.promise
으로 내가 global.Promise을 사용하고
exports.fetchHomeCollection = (req, res, next)=>{
const collection = [];
Category.find({count : { $gt : 0}}).then(categories =>{
async.forEach(categories, function(item, next){
console.log("item.strId = ", item.strId);
Photo.find({isDefault:true, category:item.strId}).then((photo)=>{
console.log("photo = ", photo);
collection.push(photo[0]);
next();
});
},
function(err){
if(err) console.log("fetchHomeCollection async forEach error");
res.send(collection);
});
})
}
: