diff options
| author | real-zephex <[email protected]> | 2024-04-10 01:19:20 +0530 |
|---|---|---|
| committer | real-zephex <[email protected]> | 2024-04-10 01:19:20 +0530 |
| commit | e5935c15af0375240fa7c711dc99101fa48048be (patch) | |
| tree | e1807c8552c25b0f2f10d55dce59725606bb4b66 /src/app/anime/videoLinkfetcher.js | |
| parent | prolly the last update to dramalama. (diff) | |
| download | dramalama-e5935c15af0375240fa7c711dc99101fa48048be.tar.xz dramalama-e5935c15af0375240fa7c711dc99101fa48048be.zip | |
UI changes
Diffstat (limited to 'src/app/anime/videoLinkfetcher.js')
| -rw-r--r-- | src/app/anime/videoLinkfetcher.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/app/anime/videoLinkfetcher.js b/src/app/anime/videoLinkfetcher.js new file mode 100644 index 0000000..3963bd3 --- /dev/null +++ b/src/app/anime/videoLinkfetcher.js @@ -0,0 +1,32 @@ +"use server"; +export async function fetch_video_link(id) { + try { + const res = await fetch( + `https://consumet-jade.vercel.app/anime/gogoanime/watch/${id}`, + { cache: "force-cache" } + ); + const data = await res.json(); + let vidLink = data.sources[data.sources.length - 2].url; + return vidLink; + } catch (error) { + console.log("Mehh Error", error); + } +} + +export async function preFetchAnimeLinks(data, n = 40) { + const limit = Math.min(n, data.episodes.length); + + try { + const fetchPromises = []; + for (let i = 0; i < limit; i++) { + const element = data.episodes[i]; + const link = `https://consumet-jade.vercel.app/anime/gogoanime/watch/${element.id}`; + fetchPromises.push(fetch(link, { cache: "force-cache" })); + } + + await Promise.all(fetchPromises); + console.log("Video links pre-fetched successfully!"); + } catch (error) { + console.error("Error occurred while pre-fetching video links:", error); + } +} |