From db3535733d9aae4ae762739a8138fc35035ffc9e Mon Sep 17 00:00:00 2001 From: Jakub Date: Thu, 12 Dec 2019 21:15:41 +0100 Subject: [PATCH] run infura calls in parallel, not sequentially (#57) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jakub SokoĊ‚owski --- .../services/discover-service/discover-service.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/common/blockchain/services/discover-service/discover-service.js b/src/common/blockchain/services/discover-service/discover-service.js index 68ce2c1..a76b64a 100644 --- a/src/common/blockchain/services/discover-service/discover-service.js +++ b/src/common/blockchain/services/discover-service/discover-service.js @@ -59,13 +59,14 @@ class DiscoverService extends BlockchainService { const dappsCache = JSON.parse( JSON.stringify(await MetadataClient.retrieveMetadataCache()), ) - const dapps = [] - for (let i = 0; i < contractDappsCount; i++) { - const dapp = await DiscoverContract.methods - .dapps(i) - .call({ from: this.sharedContext.account }) + let asyncCalls = [...Array(contractDappsCount).keys()].map( + i => DiscoverContract.methods.dapps(i).call({ from: this.sharedContext.account }) + ) + /* using Promise.all() to run calls in parallel */ + let dapps = await Promise.all(asyncCalls) + for (let dapp of dapps) { const dappMetadata = dappsCache[dapp.metadata] if (dappMetadata) { delete dappsCache[dapp.metadata]