diff --git a/package.json b/package.json index 226c3053..e161f7f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ripple-lib", - "version": "1.8.1", + "version": "1.8.2-beta.0", "license": "ISC", "description": "A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser", "files": [ diff --git a/src/common/connection.ts b/src/common/connection.ts index 332ecf14..d392184f 100644 --- a/src/common/connection.ts +++ b/src/common/connection.ts @@ -225,18 +225,21 @@ class RequestManager { cancel(id: number) { const {timer} = this.promisesAwaitingResponse[id] clearTimeout(timer) + delete this.promisesAwaitingResponse[id] } resolve(id: number, data: any) { const {timer, resolve} = this.promisesAwaitingResponse[id] clearTimeout(timer) resolve(data) + delete this.promisesAwaitingResponse[id] } reject(id: number, error: Error) { const {timer, reject} = this.promisesAwaitingResponse[id] clearTimeout(timer) reject(error) + delete this.promisesAwaitingResponse[id] } rejectAll(error: Error) { @@ -278,7 +281,7 @@ class RequestManager { throw new ResponseFormatError('valid id not found in response', data) } if (!this.promisesAwaitingResponse[data.id]) { - throw new ResponseFormatError('response handler not found', data) + return } if (data.status === 'error') { const error = new RippledError(data.error_message || data.error, data)