这个错误是什么意思?
错误:13 内部:收到代码为 0 的 RST_STREAM
目前,有 3 个端点运行不佳并导致 SDK 无法处理的 RST_STREAM 错误(甚至是 v2.1.1),如果您覆盖 SDK 的默认节点列表,您应该没问题。
已经在 github 中跟踪此问题:https ://github.com/hashgraph/hedera-sdk-js/issues/622
同时,您可以按如下方式处理错误:
承诺
let retry = true;
while (retry) {
await new AccountBalanceQuery()
.setAccountId(operatorId)
.execute(client)
.then(() => {
retry = false;
console.log("---> SUCCESS");
})
.catch(error => {
console.error(error);
if (error.message.includes('RST_STREAM')) {
console.log("---> RETRY");
}
});
}
}
尝试/捕获
let retry = true;
while (retry) {
try {
await new AccountBalanceQuery()
.setAccountId(operatorId)
.execute(client);
retry = false;
console.log("---> SUCCESS");
} catch (error) {
console.error(error);
if (error.message.includes('RST_STREAM')) {
console.log("---> RETRY");
}
}
}
这样,如果其他节点没有响应,你会很好地处理它。