【发布时间】:2017-05-24 20:11:45
【问题描述】:
我正在使用 node.js 并与sails.js 框架异步。 我正在尝试创建一个对数据数组执行一些异步 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
标签: javascript node.js asynchronous sails.js