رقصنده با کد
782 subscribers
1.69K photos
850 videos
207 files
666 links
Here are some interesting things I've come across during my learning process. That's it. Admin ID:
@alithecodeguy
Download Telegram
فرق Debounce با Throttle توی جاوااسکریپت چیه؟
تکنیک Throttle یعنی اینکه یک فانکشن خاص توی تایم فریمی خاصی مثلا هر پنج ثانیه بیشتر از یکبار قابل اجرا نباشه.
تکنیک Debounce یعنی فانکشن خاصی بعد از تایم فریم خاصی اتفاق بیفته.
درظاهر یک هدف رو دارن ولی اگر دقت کنید کلا دو تا چیز مختلفن.
اینایی که گفتم برای جاوا اسکریپت بود و روی هر فریم ورکی میتونید پیادش کنید یا از کتابخونه‌های مختلف استفاده کنید. اگر هم از چیزی مثل ریکت استفاده میکنید به نظرم از هیچ کدوم استفاده نکنید و برید سراغ useDefferedValue
#react #debounce #throttle #hooks #js
اگر نمیخواید از کتابخانه‌های آماده برای debounce استفاده کنید ، با همین کدی که توی تصویر می‌بینید ، میتونید پیاده‌سازیش کنید. یکیش برای فانکشن کامپوننت‌های ریکته ، یکیش برای کلاس کامپوننت‌ها.
اگر هم از چیزی جز ریکت استفاده می‌کنید ، می‌تونید همین کانسپت رو ببرید توی اون محیط با توجه به ویژگی‌های خودش پیاده‌سازی کنید چون در نهایت این کار ، جاوا اسکریپتی داره اتفاق می‌افته.

توضیح debounce:
فرض کن سرچ اینپوتی دارید که به ازای کلمه‌ای که وارد می‌کنید یکبار سرویس متناظرش رو کال می‌کنه. اگر قرار باشه به ازای تایپ هر حرف یکبار سرویس کال اتفاق بیفته فشار زیادی به مرورگر میاره و یوزر کندی احساس میکنه. برای همین میان با استفاده از مفهومی به نام debounce یک تاخیر مثلا ۵۰۰ میلی ثانیه‌ای میذارن که اگر از آخرین کاراکتری که کاربر تایپ کرده بود ۵۰۰ میلی ثانیه گذشت ، سرویس کال بشه.

@alithecodeguy #debounce #js #react
این کد ترکیب debounce , fetch و AbortController هست که از مثال‌های آقای نظری برداشتم. اگر تازه برنامه‌نویسی وب رو شروع کردید یا با این عبارات آشنا نیستید ، پیشنهاد میکنم زمان بذارید و این کد رو‌ مطالعه کنید.
لینک:
https://ditty.ir/posts/javascript-abortcontroller/nBwbX

@alithecodeguy #tip #abort #debounce