lz初学nodejs,今天根据教程遇到如下代码:
var async = require('async');
var concurrencyCount = 0;
var fetchUrl = function (url, callback) {
var delay = parseInt((Math.random() * 10000000) % 2000, 10);
concurrencyCount++;
console.log('现在的并发数是', concurrencyCount, ',正在抓取的是', url, ',耗时' + delay + '毫秒');
setTimeout(function () {
concurrencyCount--;
callback(null, url + ' html content');
}, delay);
};
var urls = [];
for(var i = 0; i < 30; i++) {
urls.push('http://datasource_' + i);
}
async.mapLimit(urls, 5, function (url, callback) {
fetchUrl(url, callback);
}, function (err, result) {
console.log('final:');
console.log(result);
});
疑问:
fetchUrl (url, callback){...}这里的callback()怎么变成调用function (err, result) {...}了?我的理解是应该有函数实例调用fetchUrl(url, callback)时,直接写个回调,是不是async这个库规定了这么写?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你任务执行完了 不是要通知你吗 那个callback就是通知 你要是自己再写个回调调用,那么还有必要用async库么