init writes in parallel in case one of them fails

This commit is contained in:
Daniel Lugo 2020-07-29 12:21:46 -04:00
parent 755bafba8a
commit 7974a89bd3

View file

@ -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 = {