如何在反应中反序列化avro文件

How to deserialize avro file in react

谁能帮我在 React 中反序列化 avro 文件? 我尝试使用 avsc npm 包,但我现在陷入了错误。

const avro = require('avsc')
......
avro.createFileDecoder('./abc.avro').on('data', (record) => { console.log(record) })
......

但是显示错误。

TypeError: avro.createFileDecoder is not a function

如何解决???

该错误是因为 createFileDecoder 函数需要另一个参数 { codecs } 无论如何,我用 createBlobDecoder 读取了 avro 文件。这就是我所做的。

let metadata = null;
let rows = [];
avro
  .createBlobDecoder(file)
      .on("metadata", type => {
          metadata = type;
      })
      .on("data", val => {            
          rows.push(val);
      })
      .on("end", () => {
          console.log(metadata);
          console.log(rows);       
      });

这里,file 是 HTML 中输入标签的默认 return 值。