【发布时间】:2014-11-01 00:48:28
【问题描述】:
TopicStatistics.methods.createTopicStatistics = function(callback)
{
// do stuff
Topic.find({} , function (err, resultList)
{
if(err)
{
// do stuff
if(typeof callback === "function")
callback(err); // callback undefined
}
else
{
// do stuff
if(typeof callback === "function")
callback(null); // callback undefined
}
});
};
上面是我要执行的代码。问题是这样的:
由于 mongoose 主题是异步的,我的函数在 mongoose.find 完成其正常工作之前完成,因此回调变量已被清除并且它变得未定义。
我正在寻找一种将回调函数传播到 mongoose.find 函数的方法。像这样的:
Topic.find({} , function (err, resultList, mycallback);
这将使我能够在我的 mongoose blob 中使用它,并且能够在 mongoose blob 中的操作结束时调用它。
【问题讨论】:
-
您的第一次尝试应该可以在 IMO 中使用(无需将
mycallback传递给Topic.find的函数)。如果callback是undefined,它必须 是undefined。 IE。你没有传递任何东西给TopicStatistics.createTopicStatistics -
你说得对,是我传错了函数。
标签: javascript node.js mongodb callback