aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-10 03:13:05 -0800
committerFuwn <[email protected]>2023-12-10 03:13:05 -0800
commit15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc (patch)
tree2236351bc1e23c819f809508dfa16e3fe1936f1e /src
parentfeat(api): safe response rate-limits (diff)
downloaddue.moe-15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc.tar.xz
due.moe-15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc.zip
fix(manga): no timeout if cached
Diffstat (limited to 'src')
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte
index 54009e50..d730eb51 100644
--- a/src/lib/List/Manga/MangaListTemplate.svelte
+++ b/src/lib/List/Manga/MangaListTemplate.svelte
@@ -74,13 +74,19 @@
let finalMedia = releasingMedia;
const progressStep = 100 / finalMedia.length;
const chapterPromises = finalMedia.map((m: Media) =>
- // A = On 1 second interval,
- // B = a maximum of 5 requests per second are allowed.
- // C = chapterCount makes 3 requests per call.
- // F = A / (B / C) = 0.6 seconds
- new Promise((resolve) => setTimeout(resolve, 600)).then(() =>
- chapterCount(identity, m, $settings.disableGuessing)
- )
+ chapterDatabase.chapters.get(m.id).then((c) => {
+ if (c !== undefined) {
+ return chapterCount(identity, m, $settings.disableGuessing);
+ } else {
+ // A = On 1 second interval,
+ // B = a maximum of 5 requests per second are allowed.
+ // C = chapterCount makes 3 requests per call.
+ // F = A / (B / C) = 0.6 seconds
+ return new Promise((resolve) => setTimeout(resolve, 600)).then(() =>
+ chapterCount(identity, m, $settings.disableGuessing)
+ );
+ }
+ })
);
const chapterCounts: (number | null)[] = [];