From 0dc650305ac811baf8163cdc44dfe763e68ed189 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Sun, 27 Oct 2019 19:36:50 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D1=82=D0=B5=D0=BD=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D1=85=20=D0=B1=D0=B0=D0=B3=D0=BE=D0=B2,=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B9=20=D1=80=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/TextPage/TextPage.vue | 4 ++-- client/components/Reader/share/BookParser.js | 16 ++++++---------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index 79b66777..77c51b4f 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -477,7 +477,7 @@ class TextPage extends Vue { generateWaitingFunc(waitingHandlerName, stopPropertyName) { const func = (timeout) => { - return new Promise(async(resolve) => { + return new Promise((resolve, reject) => { (async() => { this[waitingHandlerName] = resolve; let wait = (timeout + 201)/100; while (wait > 0 && !this[stopPropertyName]) { @@ -485,7 +485,7 @@ class TextPage extends Vue { await sleep(100); } resolve(); - }); + })().catch(reject); }); }; return func; } diff --git a/client/components/Reader/share/BookParser.js b/client/components/Reader/share/BookParser.js index a5faba72..95a9c887 100644 --- a/client/components/Reader/share/BookParser.js +++ b/client/components/Reader/share/BookParser.js @@ -67,7 +67,7 @@ export default class BookParser { } */ const getImageDimensions = (binaryId, binaryType, data) => { - return new Promise (async(resolve, reject) => { + return new Promise ((resolve, reject) => { (async() => { const i = new Image(); let resolved = false; i.onload = () => { @@ -81,19 +81,17 @@ export default class BookParser { resolve(); }; - i.onerror = (e) => { - reject(e); - }; + i.onerror = reject; i.src = `data:${binaryType};base64,${data}`; await sleep(30*1000); if (!resolved) reject('Не удалось получить размер изображения'); - }); + })().catch(reject); }); }; const getExternalImageDimensions = (src) => { - return new Promise (async(resolve, reject) => { + return new Promise ((resolve, reject) => { (async() => { const i = new Image(); let resolved = false; i.onload = () => { @@ -105,15 +103,13 @@ export default class BookParser { resolve(); }; - i.onerror = (e) => { - reject(e); - }; + i.onerror = reject; i.src = src; await sleep(30*1000); if (!resolved) reject('Не удалось получить размер изображения'); - }); + })().catch(reject); }); }; const newParagraph = (text, len, addIndex) => {