From f3949d9f2fbd93ce27fc2bcb34e6317829078220 Mon Sep 17 00:00:00 2001 From: Irakli Safareli Date: Tue, 8 May 2018 16:37:08 +0200 Subject: [PATCH 1/2] fix _sendAsync canceler HttpProvider.prototype.sendAsync returns undefined so we can't cancel it. https://github.com/ethereum/web3.js/blob/develop/lib/web3/httpprovider.js#L114-L141 --- src/Network/Ethereum/Web3/JsonRPC.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Network/Ethereum/Web3/JsonRPC.js b/src/Network/Ethereum/Web3/JsonRPC.js index 7d60cb3e..62809b00 100644 --- a/src/Network/Ethereum/Web3/JsonRPC.js +++ b/src/Network/Ethereum/Web3/JsonRPC.js @@ -4,15 +4,18 @@ exports._sendAsync = function (provider) { return function (request) { return function(onError, onSuccess) { - var cancel = provider.sendAsync(request, function(err, succ) { - if (err) { + var canceled = false; + provider.sendAsync(request, function(err, succ) { + if (canceled) { + return; + } else if (err) { onError(err); } else { onSuccess(succ); } }); return function (cancelError, onCancelerError, onCancelerSuccess) { - cancel(); + canceled = true; onCancelerSuccess(); }; }; From 38158bdc99ce9acd02e08ef5f1ddc6366c704b12 Mon Sep 17 00:00:00 2001 From: Irakli Safareli Date: Tue, 8 May 2018 17:41:09 +0200 Subject: [PATCH 2/2] no need for canceling flag --- src/Network/Ethereum/Web3/JsonRPC.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Network/Ethereum/Web3/JsonRPC.js b/src/Network/Ethereum/Web3/JsonRPC.js index 62809b00..54c20920 100644 --- a/src/Network/Ethereum/Web3/JsonRPC.js +++ b/src/Network/Ethereum/Web3/JsonRPC.js @@ -4,18 +4,14 @@ exports._sendAsync = function (provider) { return function (request) { return function(onError, onSuccess) { - var canceled = false; provider.sendAsync(request, function(err, succ) { - if (canceled) { - return; - } else if (err) { + if (err) { onError(err); } else { onSuccess(succ); } }); return function (cancelError, onCancelerError, onCancelerSuccess) { - canceled = true; onCancelerSuccess(); }; };