繁体   English   中英

如何在 typescript 中使用 google.protobuf.Any 类型?

[英]How to use google.protobuf.Any type in typescript?

1.protocol buffer 3文件test.proto

option go_package = ".;apps";
package apps;

message ShardKvMap{
  map<string, google.protobuf.Any> data = 1;
}

2.我使用 grpc-web build.ts 文件

protoc -I=$DIR test.proto \
  --js_out=import_style=commonjs,binary:$OUT_DIR \
  --grpc-web_out=import_style=typescript,mode=grpcwebtext:$OUT_DIR

3.如何在typescript中使用google.protobuf.Any type?

我无法为您提供内置的 JS 和 TS 支持,但我可以告诉您如何使用protobuf-ts 插件(我是作者)来做到这一点。

// this creates an empty new message
let msg = ShardKvMap.create();

// this packs the empty new message into an Any message, 
// and adds it to map under the key "foo":
msg.data["foo"] = Any.pack(msg, ShardKvMap);

据我所知,protobuf-ts 是 JavaScript / TypeScript 的唯一库,它完全支持 google.protobuf.Any,包括 Z0ECD11C1D7A287401D148A23ZDD7 格式。 这是手册中有关任何支持的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM