فرق Debounce با Throttle توی جاوااسکریپت چیه؟
تکنیک Throttle یعنی اینکه یک فانکشن خاص توی تایم فریمی خاصی مثلا هر پنج ثانیه بیشتر از یکبار قابل اجرا نباشه.
تکنیک Debounce یعنی فانکشن خاصی بعد از تایم فریم خاصی اتفاق بیفته.
درظاهر یک هدف رو دارن ولی اگر دقت کنید کلا دو تا چیز مختلفن.
اینایی که گفتم برای جاوا اسکریپت بود و روی هر فریم ورکی میتونید پیادش کنید یا از کتابخونههای مختلف استفاده کنید. اگر هم از چیزی مثل ریکت استفاده میکنید به نظرم از هیچ کدوم استفاده نکنید و برید سراغ useDefferedValue
#react #debounce #throttle #hooks #js
تکنیک Throttle یعنی اینکه یک فانکشن خاص توی تایم فریمی خاصی مثلا هر پنج ثانیه بیشتر از یکبار قابل اجرا نباشه.
تکنیک Debounce یعنی فانکشن خاصی بعد از تایم فریم خاصی اتفاق بیفته.
درظاهر یک هدف رو دارن ولی اگر دقت کنید کلا دو تا چیز مختلفن.
اینایی که گفتم برای جاوا اسکریپت بود و روی هر فریم ورکی میتونید پیادش کنید یا از کتابخونههای مختلف استفاده کنید. اگر هم از چیزی مثل ریکت استفاده میکنید به نظرم از هیچ کدوم استفاده نکنید و برید سراغ useDefferedValue
#react #debounce #throttle #hooks #js
اگر نمیخواید از کتابخانههای آماده برای debounce استفاده کنید ، با همین کدی که توی تصویر میبینید ، میتونید پیادهسازیش کنید. یکیش برای فانکشن کامپوننتهای ریکته ، یکیش برای کلاس کامپوننتها.
اگر هم از چیزی جز ریکت استفاده میکنید ، میتونید همین کانسپت رو ببرید توی اون محیط با توجه به ویژگیهای خودش پیادهسازی کنید چون در نهایت این کار ، جاوا اسکریپتی داره اتفاق میافته.
توضیح debounce:
فرض کن سرچ اینپوتی دارید که به ازای کلمهای که وارد میکنید یکبار سرویس متناظرش رو کال میکنه. اگر قرار باشه به ازای تایپ هر حرف یکبار سرویس کال اتفاق بیفته فشار زیادی به مرورگر میاره و یوزر کندی احساس میکنه. برای همین میان با استفاده از مفهومی به نام debounce یک تاخیر مثلا ۵۰۰ میلی ثانیهای میذارن که اگر از آخرین کاراکتری که کاربر تایپ کرده بود ۵۰۰ میلی ثانیه گذشت ، سرویس کال بشه.
@alithecodeguy #debounce #js #react
اگر هم از چیزی جز ریکت استفاده میکنید ، میتونید همین کانسپت رو ببرید توی اون محیط با توجه به ویژگیهای خودش پیادهسازی کنید چون در نهایت این کار ، جاوا اسکریپتی داره اتفاق میافته.
توضیح debounce:
فرض کن سرچ اینپوتی دارید که به ازای کلمهای که وارد میکنید یکبار سرویس متناظرش رو کال میکنه. اگر قرار باشه به ازای تایپ هر حرف یکبار سرویس کال اتفاق بیفته فشار زیادی به مرورگر میاره و یوزر کندی احساس میکنه. برای همین میان با استفاده از مفهومی به نام debounce یک تاخیر مثلا ۵۰۰ میلی ثانیهای میذارن که اگر از آخرین کاراکتری که کاربر تایپ کرده بود ۵۰۰ میلی ثانیه گذشت ، سرویس کال بشه.
@alithecodeguy #debounce #js #react
این کد ترکیب debounce , fetch و AbortController هست که از مثالهای آقای نظری برداشتم. اگر تازه برنامهنویسی وب رو شروع کردید یا با این عبارات آشنا نیستید ، پیشنهاد میکنم زمان بذارید و این کد رو مطالعه کنید.
لینک:
https://ditty.ir/posts/javascript-abortcontroller/nBwbX
@alithecodeguy #tip #abort #debounce
لینک:
https://ditty.ir/posts/javascript-abortcontroller/nBwbX
@alithecodeguy #tip #abort #debounce