sails.js 프레임 워크에서 node.js와 async를 사용하고 있습니다. 데이터 배열에서 일부 비동기 DB 작업을 수행하는 함수를 만들려고하지만 비동기 결과를 부모 함수로 반환하는 간단한 방법을 찾는 데 문제가 있습니다.다른 함수에서 비동기 사용
convertProductfields: function (articlesFromAurelia){
async.each(articlesFromAurelia, function (post, cb) {
Categories.find({name: post.Categoria})
.then(function(category){
post.cat_id = category[0].cat_id;
cb();
})
.fail(function(error){
cb(error);
})
}, function(error){
if(error) return res.negotiate(error);
sails.log.debug('articlesFromAureliaModified ' , articlesFromAurelia);
return articlesFromAurelia;
});
sails.log.debug('articlesFromAureliaNotModified ' , articlesFromAurelia);
return articlesFromAurelia;
}
과정의 문제는 코드의 실행 순서입니다 : 다음은 내 코드입니다. 비동기 작업의 결과를 사용할 수있을 때 내 함수가 이미 반환되었습니다 .... 어떻게 작동하게 할 수 있습니까? 감사!!
제거 마지막 두 행. 'convertProductfields'에 콜백을 전달합니다. –