這是一個在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