From e7adda5727b1e5a003872fe0657bd47af2b64950 Mon Sep 17 00:00:00 2001 From: chendatony31 <31647753@qq.com> Date: Mon, 21 Sep 2020 15:12:40 +0800 Subject: [PATCH] fix: ensure using this.provider as this --- .../web3-core-requestmanager/src/index.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/web3-core-requestmanager/src/index.js b/packages/web3-core-requestmanager/src/index.js index 56382632567..702331fced8 100644 --- a/packages/web3-core-requestmanager/src/index.js +++ b/packages/web3-core-requestmanager/src/index.js @@ -91,7 +91,7 @@ RequestManager.prototype.setProvider = function (provider, net) { // reset the old one before changing, if still connected - if(this.provider && this.provider.connected) + if (this.provider && this.provider.connected) this.clearSubscriptions(); this.provider = provider || null; @@ -123,17 +123,17 @@ RequestManager.prototype.setProvider = function (provider, net) { // notify all subscriptions about bad close conditions this.provider.on('close', function close(event) { - if (!_this._isCleanCloseEvent(event) || _this._isIpcCloseError(event)){ + if (!_this._isCleanCloseEvent(event) || _this._isIpcCloseError(event)) { _this.subscriptions.forEach(function (subscription) { subscription.callback(errors.ConnectionCloseError(event)); _this.subscriptions.delete(subscription.subscription.id); }); - if(_this.provider && _this.provider.emit){ + if (_this.provider && _this.provider.emit) { _this.provider.emit('error', errors.ConnectionCloseError(event)); } } - if(_this.provider && _this.provider.emit){ + if (_this.provider && _this.provider.emit) { _this.provider.emit('end', event); } }); @@ -151,7 +151,7 @@ RequestManager.prototype.setProvider = function (provider, net) { * @param {Function} callback */ RequestManager.prototype.send = function (data, callback) { - callback = callback || function () {}; + callback = callback || function () { }; if (!this.provider) { return callback(errors.InvalidProvider()); @@ -163,7 +163,7 @@ RequestManager.prototype.send = function (data, callback) { const jsonrpcResultCallback = this._jsonrpcResultCallback(callback, jsonrpcPayload) if (this.provider.request) { - const callbackRequest = callbackify(this.provider.request) + const callbackRequest = callbackify(this.provider.request.bind(this.provider)) const requestArgs = { method, params } callbackRequest(requestArgs, callback); } else if (this.provider.sendAsync) { @@ -220,7 +220,7 @@ RequestManager.prototype.addSubscription = function (subscription, callback) { } ); } else { - throw new Error('The provider doesn\'t support subscriptions: '+ this.provider.constructor.name); + throw new Error('The provider doesn\'t support subscriptions: ' + this.provider.constructor.name); } }; @@ -273,7 +273,7 @@ RequestManager.prototype.clearSubscriptions = function (keepIsSyncing) { } // reset notification callbacks etc. - if(this.provider.reset) + if (this.provider.reset) this.provider.reset(); return true @@ -320,8 +320,8 @@ RequestManager.prototype._isIpcCloseError = function (event) { * */ RequestManager.prototype._jsonrpcResultCallback = function (callback, payload) { - return function(err, result) { - if(result && result.id && payload.id !== result.id) { + return function (err, result) { + if (result && result.id && payload.id !== result.id) { return callback(new Error(`Wrong response id ${result.id} (expected: ${payload.id}) in ${JSON.stringify(payload)}`)); }