更新:简化了示例代码
我搜索了这个问题并发现它无处可寻。我有一个函数,它是simplecrawler
的包装器。以下是简化代码:
const Crawler = require('simplecrawler');
//Initial data is an object with initial.url set to url for crawling
const startCrawler = function startCrawler() {
const crawler = new Crawler('http://example.com');
crawler.start();
const randomVariable = "set";
const downloadCondition = crawler.addDownloadCondition((queueItem) => {
console.log(randomVariable);
});
};
控制台:
set
set
set
set
set
set
undefined
set
set
undefined
undefined
set
问题是在downloadCondition
内,常量randomVariable
的值对于某些调用未定义,如上所示。每秒几次由爬网程序实例调用downloadContition
。可以对此有任何解释吗?
答案 0 :(得分:0)
这是一个错字。 crawlStarter(initialData)不是crawlStarter(intialData)。
由于拼写错误,每次迭代都必须打印未定义,你只是不知道,因为你没有在未定义时打印它。