gpt4 book ai didi

request - 根据我的请求设置日期值时,Google Protocol Buffers : c. toArray 不是一个函数

转载 作者:行者123 更新时间:2023-12-02 10:42:28 25 4
gpt4 key购买 nike

我正在尝试为 grpc-web 构建创建请求。我已经生成了 Protocol Buffer ,并且可以成功获取信息,但在创建请求时遇到问题。

例如。

const request = new PricingMethodRequest()
request.setCurrencyId(64)
request.setId(0)
request.setFrequency(1)
request.setFromDate({ nanos: 0, seconds: 1555064508 }) // <--- Crashes on this line
...

当我尝试设置日期值时,我似乎不断收到TypeError: c.toArray is not a function。或者甚至是一个价格值,它也是一个对象。

如何实现设置日期值或任何需要 JavaScript 对象的值?

编辑:

我在网上看到过一些东西,我可以做这样的事情:

const fromDateAny = new proto.google.protobuf.Any.fromJavaScript({ nanos: 0, seconds: 1555064508 })
request.setFromDate(fromDateAny)

但是这样做会给我错误无法找到名称“proto”

最佳答案

事实证明,我必须为 fromDate 创建一个 Timestamp 类型。

我这样做是这样做的:

import * as timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'

...

const timestampFromDate = new timestamp_pb.Timestamp()
timestampFromDate.setSeconds(fromdate.seconds)
timestampFromDate.setNanos(fromDate.nanos)

request.setFromDate(timestampFromDate)

编辑:

我发现了一种更简洁的方法来读取和编写这些函数,只需链接它们即可。例如。构建的最终请求将如下所示:

const request = new PricingMethodRequest()
.setCurrencyId(64)
.setId(0)
.setFrequency(1)
.setFromDate(
new timestamp_pb.Timestamp()
.setSeconds(1555064508)
)

关于request - 根据我的请求设置日期值时,Google Protocol Buffers : c. toArray 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630469/

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