node8.2中async.js为什么失效
发布于 7 年前 作者 zhang14725804 4055 次浏览 来自 问答

原来node6.2的时候,我用async.js控制并发,,完全达到预期效果 现在升级到8.2,直接报错了

async.mapLimit(pages, 10, function(url, callback) {
	fetchUrl(url, callback);
}, function(err, result) {
	console.log('final:');
	console.log(result);
});

var concurrencyCount = 0;
function fetchUrl(url, callback) {
	concurrencyCount++;
	console.log('现在的并发数是', concurrencyCount, ',正在抓取的是', url);

	SpiderPage(url);

	setTimeout(function() {
		concurrencyCount--;
		callback(null, url + ' html content');
	}, 360);
};
5 回复

去了解一下Node8和Node6有什么区别

报啥错啊? 好歹也贴一个报啥错啊

和原生async冲突了吧

@libook 能大概的说说吗?或者给个链接 自豪地采用 CNodeJS ionic

@KingTree 由于没有贴出错误信息和栈信息以及代码上下文,单纯执行这段代码无法重现问题。 也有可能使用了严格模式,没有严格控制变量声明顺序和作用域。 还有可能依赖包没有升版本或重新安装,导致兼容性问题。 。。。没有调试信息无法下结论。。。 但确实Node6和Node8的区别还挺大的。

回到顶部