diff options
| author | Fuwn <[email protected]> | 2023-12-10 03:13:05 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-10 03:13:05 -0800 |
| commit | 15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc (patch) | |
| tree | 2236351bc1e23c819f809508dfa16e3fe1936f1e /src/lib | |
| parent | feat(api): safe response rate-limits (diff) | |
| download | due.moe-15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc.tar.xz due.moe-15b7cb2fedfbd2c40ec977092e0e6d2d6cf370dc.zip | |
fix(manga): no timeout if cached
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/List/Manga/MangaListTemplate.svelte | 20 |
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)[] = []; |