feat(backups/_VmBackup#_callWriters): dont use generic error when only one writer

This commit is contained in:
Julien Fontanet 2021-06-16 10:15:10 +02:00
parent 033b671d0b
commit 56e4847b6b

View File

@ -103,9 +103,19 @@ exports.VmBackup = class VmBackup {
// calls fn for each function, warns of any errors, and throws only if there are no writers left // calls fn for each function, warns of any errors, and throws only if there are no writers left
async _callWriters(fn, warnMessage, parallel = true) { async _callWriters(fn, warnMessage, parallel = true) {
const writers = this._writers const writers = this._writers
if (writers.size === 0) { const n = writers.size
if (n === 0) {
return return
} }
if (n === 1) {
try {
await fn(writer)
} catch (error) {
this.delete(writer)
throw error
}
}
await (parallel ? asyncMap : asyncEach)(writers, async function (writer) { await (parallel ? asyncMap : asyncEach)(writers, async function (writer) {
try { try {
await fn(writer) await fn(writer)