我学习Node.js,并在MDN的指导下做了一个小型网站。
我使用模块async到达了那里。
这是代码
async.parallel({
book_count: function(callback) {
Book.countDocuments({}, callback); // Pass an empty object as match condition to find all documents of this collection
},
book_instance_count: function(callback) {
BookInstance.countDocuments({}, callback);
},
book_instance_available_count: function(callback) {
BookInstance.countDocuments({status:'Available'}, callback);
},
author_count: function(callback) {
Author.countDocuments({}, callback);
},
genre_count: function(callback) {
Genre.countDocuments({}, callback);
}
}, function(err, results) {
res.render('index', { title: 'Local Library Home', error: err, data: results });
});
};
此代码计数数字文档在数据库中。 我不明白什么是参数“回调”。这些属性“ book_count,book_instance_count,author_count等”中没有发送任何内容,但是所有这些功能都能很好地工作。 请给我解释一下,什么是奇怪的参数“回调”以及如何使用它。
答案 0 :(得分:1)
回调函数
回调函数是作为参数传递给另一个函数的函数,然后在外部函数内部调用该回调函数以完成某种例程或操作。
function greeting(name) {
alert('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
callback(name);
}
processUserInput(greeting);
https://developer.mozilla.org/en-US/docs/Glossary/Callback_function