Proposed 1.8.2-beta.0 (#1316)

* Clear awaiting response promises when handled (#1302)

Co-authored-by: Elliot Lee <github.public@intelliot.com>

Co-authored-by: southbite <simon@tenacious.digital>
This commit is contained in:
Elliot Lee
2020-10-11 21:03:52 -07:00
committed by GitHub
parent a5c35586f7
commit bc19db9ddd
2 changed files with 5 additions and 2 deletions

View File

@@ -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": [

View File

@@ -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)