You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在graphql-codegen/Apollo Client中解析自定义BigNumber标量?

为什么客户端没写parseValue也能把服务端返回的字符串转成ethers.BigNumber?
  • 这本质是graphql-codegen的标量映射机制在自动处理,和GraphQL的parseValue函数没关系——parseValue是服务端用来处理客户端传入参数的逻辑,和响应的反序列化完全不沾边。
  • 当你在graphql-codegen的配置里把GraphQLBigNumber标量映射为ethers.BigNumber时,codegen在生成客户端查询代码的过程中,会自动给每个对应类型的字段添加转换逻辑:读取服务端返回的字符串后,调用ethers.BigNumber.from(返回的字符串)把它转换成ethers的BigNumber实例。
  • 简单说,你没写转换代码,但codegen替你生成了对应的处理逻辑,所以运行时能自动完成字符串到ethers.BigNumber的转换,不需要手动写parseValue或者其他转换函数。

内容的提问来源于stack exchange,提问作者sev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:18:09