javascript - Node.js里callback()的疑惑?
迷茫
迷茫 2017-04-10 18:02:10
[JavaScript讨论组]

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这个库规定了这么写?
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
PHPz

你任务执行完了 不是要通知你吗 那个callback就是通知 你要是自己再写个回调调用,那么还有必要用async库么

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号