برنامه نویسی

Cache API در Angular با استفاده از Interceptor تماس می گیرد

توسعه برنامه های کاربردی وب می تواند یک کار چالش برانگیز باشد، و در میان بسیاری از مسائلی که با آن مواجه هستیم، یکی از رایج ترین آنها فراخوانی های تکراری API است که هر بار که یک مؤلفه مقداردهی اولیه می شود رخ می دهد. این می تواند منجر به درد و ناامیدی شدید و همچنین تماس های بیش از حد شود که می تواند عملکرد برنامه شما را کاهش دهد.

اما نگران نباشید، استراتژی وجود دارد که می تواند به شما کمک کند چندین بازدید API را برای یک نقطه پایانی ذخیره کنید. با استفاده از یک Interceptor در برنامه Angular خود، می توانید کد خود را ساده کنید و کارایی کلی برنامه وب خود را بهبود بخشید.

در قطعه کد زیر، نحوه پیاده‌سازی این استراتژی را با ذکر نقاط پایانی که می‌خواهیم کش کنیم و اجازه می‌دهیم رهگیر کار خود را انجام دهد، نشان خواهیم داد. این نه تنها در زمان و انرژی شما صرفه جویی می کند، بلکه برنامه شما را پاسخگوتر و کاربرپسندتر می کند.

بنابراین بدون هیچ مقدمه ای، بیایید وارد آن شویم و نحوه پیاده سازی این ابزار قدرتمند را در فرآیند توسعه وب خود کشف کنیم.

این هم کد:

پس از ایجاد رهگیر فراموش نکنید که به آن در app.module.ts ارجاع دهید

توضیحات تصویر

خوب، اجازه دهید توضیح کد را درک کنیم:

ما یک رهگیر زاویه ای به نام ApiCacheInterceptor داریم که می تواند پاسخ های HTTP را از نقاط انتهایی API خاصی ذخیره کند. رهگیر از کلاس HttpInterceptor و متد intercept() آن برای رسیدگی به تمام درخواست ها و پاسخ های HTTP استفاده می کند.

هنگامی که یک درخواست رهگیری می شود، رهگیر بررسی می کند که آیا نقطه پایانی درخواست در مجموعه ای از نقاط پایانی از پیش تعریف شده برای کش قرار دارد یا خیر. اگر نقطه پایانی در مجموعه باشد، رهگیر بررسی می کند که آیا پاسخ از قبل ذخیره شده است یا خیر. اگر پاسخ در حافظه پنهان باشد، رهگیر پاسخ ذخیره شده را برمی گرداند. اگر پاسخ در حافظه پنهان نباشد، رهگیر درخواست را به سرور ارسال می کند، پاسخ را ذخیره می کند و پاسخ را به تماس گیرنده اصلی برمی گرداند.

کلاس ApiCacheInterceptor دو ویژگی خصوصی را تعریف می‌کند: cache، که یک شی Map است که پاسخ‌های کش را ذخیره می‌کند، و endpointsToCache، که یک شی Set است که نقاط انتهایی را در حافظه پنهان فهرست می‌کند. متد intercept() از این ویژگی ها برای پیاده سازی منطق کش استفاده می کند.

اگر این مقاله را آموزنده و مفید یافتید، مطمئن شوید که حساب من را برای پست های روشنگرتر و مفیدتر در مورد موضوعات مختلف مرتبط با توسعه وب، فناوری و موارد دیگر دنبال کنید. با دنبال کردن، شما اولین نفری خواهید بود که از آخرین مقالات، نکات و ترفندهای من مطلع می شوید و از آخرین روندهای این صنعت مطلع می شوید.

من متعهد به ارائه محتوای با کیفیت بالا هستم که به راحتی قابل درک و برای خوانندگان در تمام سطوح تخصص مفید است. چه مبتدی یا یک توسعه‌دهنده با تجربه باشید، پست‌های من آموزنده، جذاب و مرتبط با علایق شما هستند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا