async的eachLimit方法内使用superagent的疑惑
发布于 10 年前 作者 Harvesty 4999 次浏览 最后一次编辑是 8 年前 来自 问答

在抓网页遇到这样一个问题:

async.eachLimit(dataArr, 100,
    function(item, callback) {
        superagent
            .get('url')
            .query({ act: item })
            .end(function(err,res){
                if (err) {
                    return console.error("someErr: ", err);
                }
                var idata = JSON.parse(res.text);
                idata = idata.toString() + "\n";
                fs.appendFile('data.txt', idata, function (err) {
                  if (err) throw err;
                  console.log('The "data to append" was appended to file!');
                });
            });
    },
    function(err) {
        log('Get err: ' + err);
    });

每次只获取100个数据后,程序就结束了,没有继续下一批数据获取。不太明白什么原因,希望大侠指点!

2 回复

没有调用callback函数,在end的时候调用一下callback即可

回到顶部