在异步.waterfall方法中构造mongose回调
Structuring mongoose callbacks in an async.waterfall method.
我的async waterfall
中的第一个函数以_id
为输入,并使用findOne()
方法从具有该特定_id
的文档中获取两个属性。然后,我将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
,因此变量未定义,进程崩溃。
我知道我需要构建代码,以便只有当mongoose完成数据库查询时才能调用callback
,但我不确定如何做到这一点,并且已经阅读了这里的每一篇相关文章,仍然无法理解。
任何帮助都会很棒,谢谢。
好吧,你应该在mongoose回调中完成:
async.waterfall([
function (callback) {
Results.findOne({_id:match_id}, function(result) {
...
callback(match_date, match_week);
});
},
...
]);
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- 将json回调数据转换为日期
- 承诺在非节点式回调上使用Bluebird
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 如何使用jqueryAJAX从页面中回调多个变量
- jquery Onclick函数带有导致双击的回调排序函数
- Javascript点击事件回调不起作用
- 一旦加载并渲染了角度引导typeahead,就使用回调
- 成功回调永远不会被JSONP请求调用
- 如何让程序员在javascript中实现正确的回调
- 在异步.waterfall方法中构造mongose回调