这是一个在Node.js crawler上运行的简化代码,它获取所有数据。 但我怎么插入里面的 “回调”:功能值VAR的 “我”从周期(VAR I = 0 ...当我加入名称:DATAS [I]。名称它返回一个错误:函数只能看到三个参数
类型错误:无法读取的不确定
var Crawler = require("crawler").Crawler;
var crawler = new Crawler;
var datas = [
{name: 'John', url: 'john025'},
{name: 'Jim', url: 'jim04567'}
];
function crauler(done) {
for (var i = 0; i < datas.length; i++) {
var link = 'http://somesite.com/' + datas[i].url;
crawler.queue([{
"uri": link,
// inside this func
"callback": function (error, result, $, datas, i) {
var arr = $('.blogpost').map(function (index) {
var str = $(this).attr('href');
var object = {
numb: str,
name: datas[i].name
};
return obj;
}).get().join(',');
done(arr);
} }]) }; };
crauler (function (arr) {
console.log(arr);
});
声明'i'外的for循环。 –
@bfavaretto事实并非如此。循环变量不是TypeError的主要问题,请参阅我的答案以获取详细信息。 –
@jaux该错误是由试图解决[臭名昭着的循环问题](http://stackoverflow.com/questions/1451009/javascript-infamous-loop-problem),所以欺骗链接是有道理的。顺便说一句,很好的答案。 – bfavaretto