gpt4 book ai didi

javascript - 如何将 Map 值设置为数组?

转载 作者:行者123 更新时间:2023-11-28 03:35:41 33 4
gpt4 key购买 nike

我想发出一个 grpc 请求。请求在 proto 文件中有一个映射字段。我已经使用 protoc 为 protos 生成了 js 文件。我无法在请求中定义 Map。

var req_rg = new ResourceGroup();
req_rg.setResourcegroupname(payload.resourceGroupName);
req_rg.setResourcegroupid(payload.resourceGroupId);
req_rg.setTenantlinkid(TENANT_ID);
req_rg.getResourceoperationmapMap().set('resource', ['op1', 'op2'])

这是消息的 .proto 文件。

message ResourceGroup{

string resourceGroupName = 1;
string resourceGroupDescription = 2;
map<string,SetOfString> resourceOperationMap = 3;
string tenantLinkId = 4;
map<string,string> attributes = 5;
string resourceGroupId = 6;

}

我收到此错误。

TypeError: b.toArray is not a function
push../node_modules/google-protobuf/google-protobuf.js.jspb.Map.set
node_modules/google-protobuf/google-protobuf.js:4666
4663 |
4664 | jspb.Map.prototype.set = function (a, b) {
4665 | var c = new jspb.Map.Entry_(a);
> 4666 | this.valueCtor_ ? (c.valueWrapper = b, c.value = b.toArray()) : c.value = b;
4667 | this.map_[a.toString()] = c;
4668 | this.arrClean = !1;
4669 | return this;

最佳答案

我认为你不能将数组设置为值。该定义看起来像是映射将 SetOfString 作为值。您应该设置 SetOfString 的实例

关于javascript - 如何将 Map 值设置为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57761804/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com