在nodeJs中使用动态参数串联运行函数

时间:2015-08-18 17:20:11

标签: javascript node.js sync cheerio

目标:(已解决:下面更新的工作代码)

  1. 创建网址数组
  2. 创建一个接受单个网址的函数,向该网址发出请求,并将一些数据写入文件
  3. 对阵列中的每个url多次运行上面的函数。
  4. 节点依赖关系:请求,Cheerio,async,fs

    这是我到目前为止所做的:

    dependencies {
        compile group: 'junit', name: 'junit', version: '4.12'
    

1 个答案:

答案 0 :(得分:1)

由于您希望连续执行getUrlData,因此您需要向getUrlData添加回调:

function getUrlData(url, callback){
    request(url, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            var $ = cheerio.load(body);
            var data = $('h1').html();
            wstream.write(data);
            callback();
        }
        callback(error);
    });
}

然后使用eachSeries:

async.eachSeries(arr, getUrlData, endStream);