From 2a7fa853c9f9af855a39dfa0a98a9e2272c79a75 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 14 Aug 2022 09:44:32 -0400 Subject: [PATCH] *Add a max retry limit --- src/rpcQuery.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/rpcQuery.ts b/src/rpcQuery.ts index 6f3ca9f..9a78632 100644 --- a/src/rpcQuery.ts +++ b/src/rpcQuery.ts @@ -15,6 +15,8 @@ export default class RpcQuery { private _completed: boolean = false; private _responses: { [relay: string]: RPCResponse } = {}; private _promiseResolve?: (data: any) => void; + private _maxTries = 3; + private _tries = 0; constructor(network: RpcNetwork, query: RPCRequest) { this._network = network; @@ -131,12 +133,17 @@ export default class RpcQuery { this._network.majorityThreshold ) { // @ts-ignore - const response: RPCResponse = responseObjects[responseHash]; + let response: RPCResponse | boolean = responseObjects[responseHash]; // @ts-ignore if (null === response) { - this.retry(); - return; + if (this._tries <= this._maxTries) { + this._tries++; + this.retry(); + return; + } + + response = false; } this.resolve(response);