从节点中的远程位置创建读取流

Create Read Stream from remote location in node

我正在尝试从节点中的远程 url 提取一个 csv 文件并使用 csvtojson 解析它。我正在使用请求库来获取文件,但无法将其转换为可读流,以便我可以将其发送到 csvtojson。对不起,这是打字稿,但它应该是可解释的。 如果我执行以下操作

request.get("http://myurl.com", (err, response, body) => {
    console.log(body);
});

一些看起来像文件的东西被打印出来了,但我不能把它变成一个可写的流。它肯定不是我可以发送到 csvtojson 的任何东西。
我知道你可以像这样创建一个 writestream。

request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

但这对我没有多大好处,因为我只想获取 csv 并解析它而不是编写它。

根据其文档,csvtojson 支持流(文档中有相关示例)。所以你只需做类似的事情:

var request = require('request');
var Converter = require('csvtojson').Converter;

request('http://example.org/foo.csv')
  .pipe(new Converter({constructResult:true}))
  .on('end_parsed', function(jsonObj) {
    console.dir(jsonObj);
  });