Penjanaan Imej Rawak dan Caching dalam JavaScript
Dalam banyak aplikasi web, adalah perkara biasa untuk memaparkan imej rawak untuk pelbagai tujuan seperti ruang letak, lakaran kenit atau kandungan visual. Walau bagaimanapun, menjana imej rawak untuk setiap permintaan boleh menjadi tidak cekap, terutamanya jika kita ingin menggunakan semula imej yang sama beberapa kali. Dalam artikel ini, kami akan meneroka cara menjana imej rawak dengan cekap menggunakan JavaScript dan melaksanakan mekanisme caching untuk mengelakkan panggilan API berlebihan.
Fungsi getRandomImage
Fungsi getRandomImage ialah fungsi utiliti yang menjana URL imej rawak berdasarkan lebar, ketinggian dan ID rawak yang disediakan. Mari kita lihat dengan lebih dekat bagaimana fungsi ini berfungsi:
const imageCache = {}; const getRandomImage = (width, height, randomId) => { const cacheKey = `${width}_${height}_${randomId}`; if (imageCache[cacheKey]) { return imageCache[cacheKey]; } const imageUrl = `https://picsum.photos/${width}/${height}?random=${randomId}`; imageCache[cacheKey] = imageUrl; return imageUrl; };
Mari kita pecahkan kod langkah demi langkah:
Kami mencipta objek kosong yang dipanggil imageCache untuk berfungsi sebagai cache kami untuk menyimpan URL imej yang dijana.
Fungsi getRandomImage mengambil tiga parameter: lebar, tinggi dan randomId. Parameter ini membolehkan kami mengawal dimensi dan keunikan imej rawak.
Di dalam fungsi, kami menjana kunci cache unik dengan menggabungkan nilai lebar, tinggi dan rawakId. Kunci ini akan digunakan untuk menyimpan dan mendapatkan semula URL imej daripada cache.
Kami menyemak sama ada URL imej yang sepadan dengan kunci cache sudah wujud dalam cache. Jika ya, kami hanya memulangkan URL imej cache dan bukannya menjana yang baharu.
Jika URL imej tidak ditemui dalam cache, kami meneruskan untuk menjana URL baharu menggunakan API picsum.photos. API ini menyediakan imej rawak pelbagai dimensi berdasarkan lebar, ketinggian dan ID rawak yang ditentukan.
URL imej yang baru dijana kemudiannya disimpan dalam cache menggunakan kekunci cache untuk kegunaan masa hadapan.
Akhir sekali, kami mengembalikan URL imej yang dijana.
Faedah Caching
Melaksanakan mekanisme caching dalam fungsi getRandomImage menawarkan beberapa kelebihan:
Kecekapan: Dengan menyimpan URL imej, kami mengelak daripada membuat panggilan API berlebihan untuk gabungan lebar, ketinggian dan ID rawak yang sama. Ini meningkatkan prestasi keseluruhan aplikasi kami dan mengurangkan permintaan rangkaian yang tidak perlu.
Guna Semula: Mekanisme caching membolehkan kami menggunakan semula imej rawak yang sama beberapa kali tanpa menjana semula URL imej baharu setiap kali. Ini amat berguna apabila memaparkan imej yang sama merentas bahagian atau komponen aplikasi kami yang berbeza, mempromosikan konsistensi dan mengurangkan overhed yang tidak perlu.
Ketekalan: Apabila gabungan lebar, ketinggian dan ID rawak yang sama ditemui sekali lagi, fungsi tersebut mendapatkan semula URL imej daripada cache, memastikan ketekalan dalam imej yang dipaparkan sepanjang aplikasi.
Kesimpulan
Dalam artikel ini, kami meneroka cara menjana imej rawak dengan cekap dalam JavaScript menggunakan fungsi getRandomImage. Dengan melaksanakan mekanisme caching, kami boleh mengelakkan panggilan API yang berlebihan dan meningkatkan prestasi aplikasi web kami. Mekanisme caching menawarkan faedah seperti kecekapan yang dipertingkatkan, penggunaan semula imej dan konsistensi. Jangan ragu untuk menyesuaikan dan menggabungkan fungsi getRandomImage ke dalam projek anda untuk meningkatkan penjanaan imej rawak.
Kod Penuh:
const imageCache = {}; const getRandomImage = (width, height, randomId) => { const cacheKey = `${width}_${height}_${randomId}`; if (imageCache[cacheKey]) { return imageCache[cacheKey]; } const imageUrl = `https://picsum.photos/${width}/${height}?random=${randomId}`; imageCache[cacheKey] = imageUrl; return imageUrl; };
Ingat untuk menyesuaikan fungsi dan mekanisme caching agar sesuai dengan keperluan khusus anda dan laraskan strategi caching jika perlu.
Langgan surat berita saya di mana anda akan mendapat petua, helah dan cabaran untuk memastikan kemahiran anda tajam. Langgan surat berita
Atas ialah kandungan terperinci Penjanaan Imej Rawak dan Caching dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
