如何解析 Angular 应用程序中的 thrift 对象?

How to parse thrift objects in Angular app?

我有一个 C++ 服务器,它通过 mqtt 协议将对象发送到 ActiveMq 代理。这些对象的 类 是由 thrift 生成的:

thrift -r --gen cpp:pure_enums filame.thrift

Thrift 为我生成了 js 类 和打字 ts 文件。

thrift -r --gen js:ts filame.thrift

Angular 应用程序从代理获取数据。我的问题是我不知道如何将数据解析为打字稿对象。

我没有找到解决我问题的打字稿的 npm 库。 在我看来,Apache thrift 库帮不了我 (https://www.npmjs.com/package/thrift)。

Angular & 打字稿版本:6.5.0

我手头没有完整的、随时可用的代码,但我可以提供一个通用的大纲。

首先,像往常一样设置transport/protocol堆栈,例如

var transport = new Thrift.Transport(...); 
var protocol  = new Thrift.Protocol(transport); 

现在创建在文件数据中序列化的根对象 class 的空实例(您需要知道它到底是什么):

var mydata = new Some.Thrift.DataType()

读取数据:

mydata.Read(protocol);

盈利!