[英]Structuring mongoose callbacks in an async.waterfall method.
我的async waterfall
的第一个函数是使用_id
作为输入并使用findOne()
方法从具有该特定_id
的文档中获取两个属性的函数。 然后,我在callback
函数中将这两个属性callback
给瀑布中的下一个函数。 这是无效的代码:
async.waterfall([
function (callback) {
Results.findOne({ _id:match_id }, function (result) {
var match_date = result.match_date;
var match_week = result.week;
});
callback(match_date, match_week);
},
function (match_date, match_week) {
// ...
// do something with the date and week ...
我看到的问题是,在findOne
方法仍在执行时调用了callback
,因此变量未定义并且进程崩溃。
我知道我需要对代码进行结构化,以便仅在猫鼬完成对数据库的查询时才callback
,但是我不确定如何做到这一点,并且已阅读此处的所有相关文章,但仍然无法解决。
任何帮助都会很棒,谢谢。
好吧,你应该在猫鼬回调里面做:
async.waterfall([
function (callback) {
Results.findOne({_id:match_id}, function(result) {
...
callback(match_date, match_week);
});
},
...
]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.