From b914a46a87115d5f347b7e6cb7984b6118f35116 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Thu, 18 Mar 2021 00:19:28 -0400 Subject: [PATCH] LibreOffice: Use `async.series` to properly handle conversion errors --- src/node/utils/LibreOffice.js | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/node/utils/LibreOffice.js b/src/node/utils/LibreOffice.js index f3485310d..168c376ec 100644 --- a/src/node/utils/LibreOffice.js +++ b/src/node/utils/LibreOffice.js @@ -110,23 +110,22 @@ exports.convertFile = (srcFile, destFile, type, callback) => { // to avoid `Error: no export filter for /tmp/xxxx.doc` error if (type === 'doc') { const intermediateFile = destFile.replace(/\.doc$/, '.odt'); - queue.push({ - srcFile, - destFile: intermediateFile, - type: 'odt', - fileExtension: 'odt', - callback: () => { - queue.push( - { - srcFile: intermediateFile, - destFile, - type, - callback, - fileExtension, - } - ); - }, - }); + async.series([ + (callback) => queue.push({ + srcFile, + destFile: intermediateFile, + type: 'odt', + fileExtension: 'odt', + callback, + }), + (callback) => queue.push({ + srcFile: intermediateFile, + destFile, + type, + callback, + fileExtension, + }), + ], callback); } else { queue.push({srcFile, destFile, type, callback, fileExtension}); }