From 7974a89bd3203ff77fb427196087bd6298121a3f Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Wed, 29 Jul 2020 12:21:46 -0400 Subject: [PATCH] init writes in parallel in case one of them fails --- services/gunDB/contact-api/actions.js | 90 +++++++++++++++------------ 1 file changed, 50 insertions(+), 40 deletions(-) diff --git a/services/gunDB/contact-api/actions.js b/services/gunDB/contact-api/actions.js index 8bd27958..2208b86f 100644 --- a/services/gunDB/contact-api/actions.js +++ b/services/gunDB/contact-api/actions.js @@ -1543,53 +1543,63 @@ const unfollow = publicKey => const initWall = async () => { const user = require('../Mediator').getUser() - await new Promise((res, rej) => { - user - .get(Key.WALL) - .get(Key.NUM_OF_PAGES) - .put(0, ack => { - if (ack.err) { - rej(new Error(ack.err)) - } else { - res() - } - }) - }) + const promises = [] - await new Promise((res, rej) => { - user - .get(Key.WALL) - .get(Key.PAGES) - .get('0') - .get(Key.POSTS) - .put( - { - unused: null - }, - ack => { + promises.push( + new Promise((res, rej) => { + user + .get(Key.WALL) + .get(Key.NUM_OF_PAGES) + .put(0, ack => { if (ack.err) { rej(new Error(ack.err)) } else { res() } - } - ) - }) + }) + }) + ) - await new Promise((res, rej) => { - user - .get(Key.WALL) - .get(Key.PAGES) - .get('0') - .get(Key.COUNT) - .put(0, ack => { - if (ack.err) { - rej(new Error(ack.err)) - } else { - res() - } - }) - }) + promises.push( + new Promise((res, rej) => { + user + .get(Key.WALL) + .get(Key.PAGES) + .get('0') + .get(Key.POSTS) + .put( + { + unused: null + }, + ack => { + if (ack.err) { + rej(new Error(ack.err)) + } else { + res() + } + } + ) + }) + ) + + promises.push( + new Promise((res, rej) => { + user + .get(Key.WALL) + .get(Key.PAGES) + .get('0') + .get(Key.COUNT) + .put(0, ack => { + if (ack.err) { + rej(new Error(ack.err)) + } else { + res() + } + }) + }) + ) + + await Promise.all(promises) } module.exports = {