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

2024-03-05

我正在尝试构建一个创建请求grpc-web。我已经生成了协议缓冲区,并且可以成功获取信息,但在创建请求时遇到问题。

Eg.

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 对象的值?

Edit:

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

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

但这样做给了我错误Cannot find name 'proto'.


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

我是这样做的:

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)

Edit:

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

const request = new PricingMethodRequest()
  .setCurrencyId(64)
  .setId(0)
  .setFrequency(1)
  .setFromDate(
    new timestamp_pb.Timestamp()
      .setSeconds(1555064508)
  )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Protocol Buffers:根据我的请求设置日期值时,c.toArray 不是函数 的相关文章

随机推荐

  • 不重复的随机数

    我需要生成大约 9 1 亿个不重复的随机数 范围从零到生成的数字数量 并且我需要它们非常快速地生成 对类似问题的几个答案提出了简单地对数组进行洗牌以获得随机数 而其他答案则提出使用布隆过滤器 问题是 哪一个更有效 如果是布隆过滤器 我该如何
  • 使用应用程序加载器上传 IPA

    我有一个 IPA 并想上传它应用加载器 但是当我在应用程序加载器中单击 打开包 时 我无法选择 IPA 文件 它呈灰色 如何使用应用程序加载器将此 IPA 文件上传到 iTunes Connect 单击 打开包 按钮是错误的 请改用 交付您
  • jvm重排序/可见性效果测试

    在写一些java文章时我试图重现重新排序 http www cs umd edu pugh java memoryModel jsr 133 faq html reordering多线程环境中对象构造不同步的情况 当一个重对象被构造而没有同
  • 如何在WPF中设置可调整字体大小的文本块或标签?

    在WPF中 如果我将任何控件放入网格中 如果我调整网格大小 它会自动调整其中所有控件的大小 但是在标签或文本块或任何其他文本元素中 所有控件大小都会改变 但字体大小保持不变 它不会改变 如果字体必须根据网格大小进行更改 应该怎么办 您可以通
  • mysql相关字段

    这4个字段是相互关联的 I want it to output it as In my query SELECT users firstname users lastname users screenname posts post id p
  • PHP:从关联数组中删除重复值并返回包含重复值的关联数组

    我有如下所示的关联数组 arr 1 gt 0 2 gt 1 3 gt 1 4 gt 2 我想从初始数组中删除重复值并将这些重复值作为新数组返回 所以我最终会得到类似的东西 arr 1 gt 0 4 gt 2 new arr 2 gt 1 3
  • 如何修复 React Native 中的“translatex 键的转换必须是数字”错误?

    我正在尝试在 React Native 中制作翻译动画 这是我的代码 const scrollX React useRef new Animated Value 0 current
  • git:克隆没有引入所有文件?

    我刚刚创建了名为的目录website 这有几个图像 index html 页面等 我跑了 git bare init shared 0777 现在 它成功创建了一个空的共享存储库 我现在尝试通过进入来克隆这个项目 developers de
  • 如何检测WP8中是否正在播放背景音乐?

    如果有人开发过 WP 应用 你就会知道 如果你的应用在未经用户同意的情况下停止当前正在播放的音乐 你就无法通过认证 我确实看到了这个问题here https stackoverflow com questions 7034205 how t
  • Jquery日期比较

    您好 我使用以下代码将输入的日期与当前日期进行比较 但它不起作用 change function var date val var arrDate date split var today new Date var useDate new
  • Android:有没有办法获取国家/地区名称的时区?

    有没有办法让时区指定国家 地区名称 我用getCountryName 在地图中获取国家 地区的名称 考虑到一些国家跨越多个时区 这似乎很困难
  • 如何立即查看IntelliJ Idea项目树中的编译错误?

    我想知道是否可以配置 IntelliJ Idea 以立即显示项目树中的类文件的编译错误 目前 如果无法编译类 我需要手动触发重新编译以查看类上的错误标记 从 IntelliJ 12 开始 有一个选项可以根据源代码更改自动构建项目 在 设置
  • 在powershell中将字符串转换为日期时间

    我正在尝试使用以下行解析文件名 字符串 并将它们转换为 powershell 中的日期 datetime ParseExact DirName BaseName yyyyMMdd null 问题是 并非该目录中的所有文件夹都遵循该命名约定
  • Pytesseract 对于实时 OCR 来说非常慢,有什么方法可以优化我的代码吗?

    我正在尝试使用 python 创建实时 OCRmss and pytesseract 到目前为止 我已经能够捕获整个屏幕 其 FPS 稳定为 30 如果我想捕获大约 500x500 的较小区域 我已经能够获得 100 FPS 然而 一旦我包
  • Laravel 5 路由前缀

    我想要一条以国家 地区为前缀的路线 像这样 us shop ca shop fr shop 我的想法是这样做
  • 排列未排序

    我知道一种算法 可以在网上找到 对排列进行排名 即给定一个排列 将整数索引返回到按字典顺序排序的排列列表中 但我不知道unrank执行相反操作的算法 给定索引 i 返回按字典顺序排列的第 i 个排列 由于我找不到任何内容 有人可以透露一些信
  • IIS Web.Config 301 重定向查询字符串参数 (?)

  • javafx-TableView 作为组合框弹出窗口(尝试并能够部分实现。需要进一步帮助)

    我需要的 需要一个可编辑的组合框 它可以在键入时过滤弹出窗口上的数据 并且第一个匹配的项目应突出显示 并应在按 Enter 键时设置为组合中的文本 弹出窗口应该是一个包含 2 或 3 列的表格视图 附有屏幕截图 在图像中 它是一个文本字段
  • 使 高度适合页面

    考虑一个包含三行且高度分别为 10 10 的表格 我希望中间的单元格足够高以垂直适应页面 不幸的是 height 100 在 table tr 或 td 级别不起作用 可能是由于标准的原因 即使它恰好有效 我也不想要 100 我想要 100
  • Google Protocol Buffers:根据我的请求设置日期值时,c.toArray 不是函数

    我正在尝试构建一个创建请求grpc web 我已经生成了协议缓冲区 并且可以成功获取信息 但在创建请求时遇到问题 Eg const request new PricingMethodRequest request setCurrencyId