今天开始在跟着alsotang大神的node lessons学习node,之前有些Rails的经验,除了node也在从头学习JS,学习过程中遇到一个问题:
发现调用方法的时候自己完全不知道该传入什么参数,拿下面这个例子说吧,
app.get('/', function (req, res, next) {
// 用 superagent 去抓取 https://cnodejs.org/ 的内容
superagent.get('https://cnodejs.org/')
.end(function (err, sres) {
// 常规的错误处理
if (err) {
return next(err);
}
// sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
// 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
// 剩下就都是 jquery 的内容了
var $ = cheerio.load(sres.text);
var items = [];
$('#topic_list .topic_title').each(function (idx, element) {
var $element = $(element);
items.push({
title: $element.attr('title'),
href: $element.attr('href')
});
});
res.send(items);
});
});
这段代码配上注解清楚得一塌糊涂 :) 但,这些传入的回掉函数的参数我怎么知道该传哪些进去呢?譬如function(req, res, next) 里面的next是哪里来的?又譬如function (err, sres)中的sres,不光是node,我发现之前看到很多js框架都有同样一个问题,我跑去看了下文档,也都没有具体说明,对js整个生态不熟悉,很是苦恼啊,还望高人指点