我是Node.js的初学者,最近我尝试分析以下代码:http://howtonode.org/express-mongodb。但是我卡住了。我真的不明白这段代码是如何工作的:
articleProvider.findAll(function(error,docs){
res.send(docs);
});
此方法调用如下的findAll函数:
var articleCounter = 1;
ArticleProvider = function(){};
ArticleProvider.prototype.dummyData = [];
ArticleProvider.prototype.findAll = **function(callback) {
callback( null, this.dummyData )
};**
怎么用一个甚至没有声明的函数回调来调用findAll方法?感谢您的帮助
最佳答案
以下代码段:
ArticleProvider.prototype.findAll = function(callback)
...
声明
ArticleProvider.findAll
为本身以参数命名的函数callback
。调用ArticleProvider.findall(foo)
时,将使用两个参数来调用函数foo
:null
作为第一个参数,而ArticleProvider.dummyData
作为第二个参数。最好从一本好的Javascript书籍开始,例如Crockford书籍。祝好运。
[编辑]
我在以下回复之一中看到了使用猫鼬的建议,但是在使用它之后,我现在更喜欢Guillermo Rauch的Monk。它比Mongoose简单得多,它使您无需模式即可工作。对于那些只需要在MongoDB上放置一个简单层的情况,Monk帮了我大忙。
关于node.js - Express和mongodb文章,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16703588/