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

gRPC简单平方根接口设置任意deadline均报DEADLINE_EXCEEDED错误

问题核心原因

gRPC for Node.js(@grpc/grpc-js库)的deadline参数要求传入未来的绝对毫秒级Unix时间戳,不是相对超时时长,也不是秒级时间戳。
你当前传入的10000000000换算为实际时间是1970年4月26日,远早于当前时间,相当于请求发起时deadline已经过期,所以无论你把这个数值调到多大,只要小于当前时间的毫秒级时间戳,都会直接触发DEADLINE_EXCEEDED错误。只有传入Infinity时,gRPC会跳过超时检查,所以能正常调用。

正确设置方法

如果需要设置相对超时,用当前时间戳加上你需要的超时时长(单位毫秒)即可,比如设置10秒超时的写法如下:

client.SqaureRoot({ number: 1 }, { deadline: Date.now() + 10 * 1000 }, function (err, response) {
  console.log(err, response);
});

如果需要设置更长的超时,比如1小时,修改为Date.now() + 60 * 60 * 1000即可。

另外你代码中的方法名SqaureRoot存在拼写错误(正确拼写应为SquareRoot),虽然这个错误不影响本次超时问题的触发,但后续如果修改proto或者方法名时要注意保持一致,避免出现UNIMPLEMENTED错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:45:04