将数据添加到事件发射器

时间:2019-06-03 16:36:35

标签: javascript eventemitter

我正在使用"proxy-lists": "^1.16.0"软件包来获取代理。

我想将所有传入的数组对象保存到我自己的数组中,以便以后将其保存到数据库中。

运行以下示例时,我的数组为空,并且未写入任何文件:

const ProxyLists = require('proxy-lists');
const fs = require('fs');

global.__basedir = __dirname;

const options = {
    countries: null
};

// `gettingProxies` is an event emitter object.
const gettingProxies = ProxyLists.getProxies(options);

const data = []
gettingProxies.on('data', function (proxies) {
    console.log(proxies);
    data.push(proxies)
});

gettingProxies.on('error', function (error) {
    console.error(error);
});

gettingProxies.once('end', function () {
    fs.writeFile(__basedir + "data/file.txt", data, function (err) {
        if (err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });
});

有人建议我在做什么错吗?

感谢您的答复!

1 个答案:

答案 0 :(得分:1)

对我来说很好,但是当我在本地测试时,我发现连接您的路径存在问题。尝试__basedir + "/data/file.txt"(或使用path.join