From 8427995bbf47e1e00a9911af9fdf0eda4e0efed5 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Sun, 27 Jul 2025 15:47:36 +0200 Subject: [PATCH] Refactor Turbo export handlers to use Promises directly --- app/assets/javascripts/download_util.js | 28 ++++++++++--------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/download_util.js b/app/assets/javascripts/download_util.js index 0b60eaa4d..d425c421f 100644 --- a/app/assets/javascripts/download_util.js +++ b/app/assets/javascripts/download_util.js @@ -17,25 +17,19 @@ OSM.showAlert = function (message) { }; OSM.getTurboBlobHandler = function (filename) { - async function handleExportSuccess({ fetchResponse }) { - try { - const blob = await fetchResponse.response.blob(); - OSM.downloadBlob(blob, filename); - } catch (err) { - notifyExportFailure("(blob error)"); - } + function handleExportSuccess({ fetchResponse }) { + fetchResponse.response.blob() + .then(blob => OSM.downloadBlob(blob, filename)) + .catch(() => notifyExportFailure("(blob error)")); } - async function handleExportError({ error, fetchResponse }) { - try { - let detailMessage = error?.message; - if (!detailMessage) { - detailMessage = await fetchResponse.responseText.then(extractTextFromHTML); - } - notifyExportFailure(detailMessage); - } catch (err) { - notifyExportFailure("(unknown)"); - } + function handleExportError({ error, fetchResponse }) { + Promise.resolve( + error?.message || + fetchResponse.responseText.then(extractTextFromHTML) + ) + .then(notifyExportFailure) + .catch(() => notifyExportFailure("(unknown)")); } function extractTextFromHTML(htmlString) { -- 2.39.5