mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-25 14:45:48 +00:00
Fix crash due to rippled slowDown error
This commit is contained in:
@@ -18,7 +18,7 @@ function isImmediateRejection(engineResult) {
|
|||||||
|
|
||||||
function convertSubmitErrors(callback) {
|
function convertSubmitErrors(callback) {
|
||||||
return function(error, data) {
|
return function(error, data) {
|
||||||
if (isImmediateRejection(data.engineResult)) {
|
if (!error && isImmediateRejection(data.engineResult)) {
|
||||||
callback(new utils.common.errors.RippleError('Submit failed'), data);
|
callback(new utils.common.errors.RippleError('Submit failed'), data);
|
||||||
} else {
|
} else {
|
||||||
callback(error, data);
|
callback(error, data);
|
||||||
|
|||||||
@@ -227,14 +227,8 @@ Request.prototype.callback = function(callback, successEvent, errorEvent) {
|
|||||||
|
|
||||||
let called = false;
|
let called = false;
|
||||||
|
|
||||||
function requestSuccess(message) {
|
|
||||||
if (!called) {
|
|
||||||
called = true;
|
|
||||||
callback.call(self, null, message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function requestError(error) {
|
function requestError(error) {
|
||||||
|
self.remote.removeListener('error', requestError);
|
||||||
if (!called) {
|
if (!called) {
|
||||||
called = true;
|
called = true;
|
||||||
|
|
||||||
@@ -246,8 +240,18 @@ Request.prototype.callback = function(callback, successEvent, errorEvent) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function requestSuccess(message) {
|
||||||
|
self.remote.removeListener('error', requestError);
|
||||||
|
if (!called) {
|
||||||
|
called = true;
|
||||||
|
callback.call(self, null, message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.remote.once('error', requestError); // e.g. rate-limiting slowDown error
|
||||||
this.once(this.successEvent, requestSuccess);
|
this.once(this.successEvent, requestSuccess);
|
||||||
this.once(this.errorEvent, requestError);
|
this.once(this.errorEvent, requestError);
|
||||||
|
|
||||||
if (!this.requested) {
|
if (!this.requested) {
|
||||||
this.request();
|
this.request();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user