কোনও ফাংশন থ্রোটলিং এবং ডিবাউস করার মধ্যে পার্থক্য


250

কেউ কি আমাকে হার-সীমাবদ্ধকরণের উদ্দেশ্যে কোনও ফাংশন থ্রোটলিং এবং ডিবোস করার মধ্যে পার্থক্য সম্পর্কে একটি সহজ-সরল-শব্দ ব্যাখ্যা দিতে পারেন।

আমার কাছে দুজনেরই একই জিনিস করা মনে হচ্ছে। আমি এই দুটি ব্লগ চেক করেছি তা জানতে:

http://remysharp.com/2010/07/21/throttling-function-calls

http://benalman.com/projects/jquery-throttle-debounce-plugin/


102
ডেমো.নিমিয়াস.नेट / ডিবিউন_থ্রোটল একটি ভাল ভিজ্যুয়ালাইজেশন
থ্রিকন

4
@ থ্রিফিকন যে আমার বর্ণনার চেয়ে ভিজ্যুয়ালাইজেশন ভাল।
ডোনাল

হ্যাঁ, সে আমাকে এই ধারণাটি বুঝতেও সহায়তা করেছিল ... মূল লেখকের জন্য +1 + ;-)
থ্রিকন

খুব সহজ উদাহরণ যা আমাকে বুঝতে সাহায্য করেছে। জেএসফিডাল.এন
. / ভোরোনার / এসএক্সজি 25

1
ভিজ্যুয়ালাইজেশনটি এখানেও কোডেপেন.ইও
ক্রিসকয়ায়ার /

উত্তর:


344

এটিকে সহজ শর্তে বলতে:

  • থ্রোটলিং কোনও ফাংশন সম্পাদন করতে বিলম্ব করবে। এটি এমন এক ইভেন্টের বিজ্ঞপ্তিগুলি কমিয়ে দেবে যা একাধিকবার আগুন জ্বলে।
  • ডিবাউনিং একটি ক্রিয়াকলাপের ক্রমিক কলগুলির ক্রিয়াকলাপকে এই ফাংশনটির একক কল হিসাবে ডেকে আনবে । এটি নিশ্চিত করে যে একাধিকবার আগুন লাগার মতো ইভেন্টের জন্য একটি বিজ্ঞপ্তি তৈরি করা হয়েছে।

আপনি এখানে দৃশ্যত পার্থক্য দেখতে পারেন

আপনার যদি এমন একটি ফাংশন থাকে যা প্রচুর পরিমাণে ডাকা হয় - উদাহরণস্বরূপ যখন একটি আকার পরিবর্তন বা মাউস মুভ ইভেন্ট ঘটে তখন এটিকে অনেক সময় বলা যেতে পারে। আপনি যদি এই আচরণটি না চান, আপনি এটিকে থ্রটল করতে পারেন যাতে ফাংশনটি নিয়মিত বিরতিতে ডাকা হয়। ডিবাউনিংয়ের অর্থ এটি ঘটনার একগুচ্ছের শেষে (বা শুরু) বলা হয়।


9
আমি মনে করি থ্রাইকনের ভিজ্যুয়ালাইজেশনের লিঙ্কটি দেখায় যে এটি কীভাবে খুব ভালভাবে কাজ করে। আপনার যদি এমন একটি ফাংশন থাকে যা প্রচুর পরিমাণে ডাকা হয় - উদাহরণস্বরূপ যখন একটি আকার পরিবর্তন বা মাউস মুভ ইভেন্ট ঘটে তখন এটিকে অনেক সময় বলা যেতে পারে। আপনি যদি এটি না চান তবে আপনি এটিকে শ্বাসরোধ করতে পারেন যাতে ফাংশনটি নিয়মিত বিরতিতে ডাকা হয়। ডিবাউনিংয়ের অর্থ এটি হবে একগুচ্ছ কলগুলির শেষে (বা শুরু)।
ডোনাল

10
@AdamM। ভিজ্যুয়ালাইজেশনটি এখানে দেখুন: ডেমো.নিমিয়াস.नेट
ডোনাল

2
@AdamM। না। আপনি মাউসটিকে ডেমোতে সরিয়ে এবং একবারে একবারে মাউস চলাচল বন্ধ করে এটি কল্পনা করতে পারেন । আপনি মাউসের সমস্ত গতিবিধি বন্ধ করার পরে ডাবনউইন বারটি "টিক্কি" দেবে , যখন থ্রোটল বারটি মাউসটি চলার সময় "টিকিং" রাখবে, তবে একটি হ্রাস (থ্রোটলড) হারে।
জন ওয়েইজ

26
আমি ভিজ্যুয়ালাইজেশন একেবারে loooove। ধন্যবাদ!
সম্মি

4
লিঙ্কটি হাজার শব্দের চেয়ে মূল্যবান
ফাইনস

148

ব্যক্তিগতভাবে আমি পাওয়া debounce চেয়ে হৃদয়ঙ্গম করা কঠিন শ্বাসনালী

উভয় ফাংশন আপনাকে স্থগিত করতে এবং কিছু কার্যকর করার হার কমাতে সহায়তা করে। ধরে নিচ্ছি আপনি বারবার সাজানো ফাংশন / ডাবনো করে ফেরত সাজানো ফাংশনগুলি কল করছেন ...

  • থ্রটল : নির্দিষ্ট সময়কালে মূল ফাংশনটি একবারে ডাকা হয়।
  • উত্সাহ : নির্দিষ্ট সময়ের পরে কলার সজ্জিত ফাংশনটি কল করা বন্ধ করে দেওয়ার পরে মূল ফাংশনটি ডাকা হবে ।

লক্ষ্যটি অর্জনের চেষ্টা করছে তা বোঝার জন্য আমি আত্মপ্রকাশের শেষ অংশটি অত্যন্ত গুরুত্বপূর্ণ খুঁজে পেয়েছি। আমি _.ডেবাউন্স বাস্তবায়নের একটি পুরানো সংস্করণও বুঝতে পেরেছি ( https://davidwalsh.name/function-debounce এর সৌজন্যে ) helps

// Returns a function, that, as long as it continues to be invoked, will not
// be triggered. The function will be called after it stops being called for
// N milliseconds. If `immediate` is passed, trigger the function on the
// leading edge, instead of the trailing.
_.debounce = function(func, wait, immediate) {
  var timeout;
  return function() {
    var context = this, args = arguments;
    var later = function() {
        timeout = null;
        if (!immediate) func.apply(context, args);
    };
    var callNow = immediate && !timeout;
    clearTimeout(timeout);
    timeout = setTimeout(later, wait);
    if (callNow) func.apply(context, args);
  };
};

একটি সুদূর রূপক রূপক, তবে সম্ভবত সাহায্য করতে পারে।

চ্যাটি নামে আপনার এক বন্ধু আছেন যারা আইএম এর মাধ্যমে আপনার সাথে কথা বলতে পছন্দ করেন। ধরে নেওয়ার সাথে কথা বলার সময় তিনি প্রতি 5 সেকেন্ডে একটি নতুন বার্তা প্রেরণ করেন, যখন আপনার আইএম অ্যাপ্লিকেশন আইকনটি নীচে ওঠে, আপনি ...

  • নিষ্পাপ দৃষ্টিভঙ্গি: প্রতিটি বার্তা আসার সাথে সাথে তা পরীক্ষা করে দেখুন। যখন আপনার অ্যাপ্লিকেশন আইকনটি বাউস করে, চেক করুন। এটি সবচেয়ে কার্যকর উপায় নয়, তবে আপনি সর্বদা আপ টু ডেট।
  • থ্রটল অ্যাপ্রোচ: আপনি প্রতি 5 মিনিটে একবার পরীক্ষা করে দেখুন (যখন নতুন থাকে)। যখন নতুন বার্তা আসে, আপনি যদি গত 5 মিনিটে কোনও সময় পরীক্ষা করে দেখে থাকেন তবে এটিকে এড়িয়ে যান। লুপ থাকা অবস্থায় আপনি এই পদ্ধতির সাহায্যে আপনার সময় বাঁচান।
  • ডিবিউন পদ্ধতির: আপনি চ্যাটি জানেন, তিনি পুরো গল্পটি টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করে পরে পাঠিয়েছেন message চ্যাটি পুরো গল্পটি শেষ না হওয়া পর্যন্ত অপেক্ষা করুন: যদি তিনি 5 মিনিটের জন্য বার্তা পাঠানো বন্ধ করেন, তবে আপনি ধরে নিতে পারেন যে তিনি শেষ করেছেন, এখন আপনি সমস্ত পরীক্ষা করে দেখুন।

17
আমি এটি না পড়া পর্যন্ত এই 2 টি কার্যের মধ্যে পার্থক্য বুঝতে পারি নি। ধন্যবাদ
Seamus ব্যারেট

7
রূপকটি হ'ল থ্রোটল এবং ডিবাউন সম্পর্কে আমি যে উদাহরণটি পড়েছি তার মধ্যে সবচেয়ে বড় উদাহরণ। ধন্যবাদ।
বিগনেশ

96

পার্থক্য

+--------------+-------------------+-------------------+
|              |  Throttle 1 sec   |  Debounce 1 sec   |
+--------------+-------------------+-------------------+
| Delay        | no delay          | 1 sec delay       |
|              |                   |                   |
| Emits new if | last was emitted  | there is no input |
|              | before 1 sec      |  in last 1 sec    |
+--------------+-------------------+-------------------+

ব্যবহারের ক্ষেত্রে ব্যাখ্যা :

  • অনুসন্ধান বার- প্রতিবার ব্যবহারকারী কী টিপুন কি অনুসন্ধান করতে চান না? ব্যবহারকারী যখন 1 সেকেন্ডের জন্য টাইপ করা বন্ধ করে দিয়েছিলেন তা অনুসন্ধান করতে চান। debounceকী প্রেসে 1 সেকেন্ড ব্যবহার করুন ।

  • শুটিং গেম- পিটল প্রতিটি শট এর মধ্যে 1 সেকেন্ড সময় নেয় তবে ব্যবহারকারীরা মাউস একাধিকবার ক্লিক করেন। ব্যবহার করুন throttleমাউস ক্লিক করুন।

তাদের ভূমিকা বিপরীত :

  • অনুসন্ধান বারে 1 সেকেন্ড থ্রল্টলিং - যদি ব্যবহারকারীরা abcdefghijপ্রতিটি অক্ষরের সাথে টাইপ করে 0.6 sec। তারপরে থ্রোটল প্রথম aপ্রেসে ট্রিগার করবে । এটি পরের 1 সেকেন্ডের জন্য প্রতিটি প্রেসকে উপেক্ষা করবে অর্থাৎ b.6 সেকেন্ডে উপেক্ষা করা হবে। তারপরে c1.2 সেকেন্ডে আবার ট্রিগার হবে যা আবার সময়টি পুনরায় সেট করে। সুতরাং dউপেক্ষা করা eহবে এবং ট্রিগার হবে।

  • 1 সেকেন্ডের জন্য পিস্তলটি ডিবাউ করে- যখন ব্যবহারকারী কোনও শত্রুকে দেখেন, তিনি মাউস ক্লিক করেন তবে এটি অঙ্কিত হবে না। সে আবার কয়েক সেকেন্ডে ক্লিক করবে তবে এটি শুটবে না। তিনি দেখতে পাবেন এটিতে এখনও বুলেট রয়েছে কিনা, সেই সময় (শেষ ক্লিকের পরে 1 সেকেন্ড) পিস্তলটি স্বয়ংক্রিয়ভাবে আগুন লাগবে।


37

থ্রটলিংয়ের মাধ্যমে একটি ফাংশনকে সময়ের সাথে সংখ্যায় ডাকা যেতে পারে number যেমন "প্রতি 100 মিলিসেকেন্ডে একবারে এই ফাংশনটি কার্যকর করুন।"

তীব্রভাবে চাপ প্রয়োগ করা হচ্ছে যে কোনও ফাংশন কল না করে নির্দিষ্ট সময় ব্যয় না করা পর্যন্ত পুনরায় কল করা হবে না। যেমন "100 মিলিসেকেন্ড কল না করেই কেবল এই ফাংশনটি কার্যকর করুন" "

সুত্র


20

থ্রটল (1 সেকেন্ড): হ্যালো, আমি একটি রোবট। যতক্ষণ আপনি আমাকে পিপিং করতে থাকবেন ততক্ষণ আমি আপনার সাথে কথা বলব, তবে প্রতিটি 1 সেকেন্ডের পরে। আপনি যদি একটি সেকেন্ড সময় পার হওয়ার আগে আমাকে জবাব দেওয়ার জন্য বেঁধে দেন তবে আমি ঠিক 1 সেকেন্ডের বিরতিতে আপনাকে জবাব দেব। অন্য কথায়, আমি ঠিক সঠিক বিরতিতে উত্তর দিতে পছন্দ করি।

ডিবাউন (1 সেকেন্ড): হাই, আমি সেই ^^ রোবোটের কাজিন। যতক্ষণ আপনি আমাকে পিপ্স করে চলেছেন ততক্ষণ আমি চুপ করেই যাচ্ছি কারণ আমি আপনাকে উত্তর দিতে চাই যখন 1 বার পেরিয়ে যাওয়ার পরে কেবল আপনি শেষ বার আমাকে পিন করেছিলেন । আমি জানি না, এটি যদি আমার মনোভাবের সমস্যার কারণে হয় বা কারণ আমি কেবল মানুষকে বাধা দিতে পছন্দ করি না। অন্য কথায়, আপনি যদি আপনার শেষ অনুরোধের পরে 1 সেকেন্ডের আগেই আমার কাছে জবাব চেয়ে রাখেন তবে আপনি কখনই উত্তর পাবেন না। হ্যাঁ হ্যাঁ ... এগিয়ে যান! আমাকে অসভ্য বলো


থ্রটল (10 মিনিট): আমি লগিং মেশিন। আমি 10 মিনিটের নিয়মিত বিরতি পরে আমাদের ব্যাকএন্ড সার্ভারে সিস্টেম লগগুলি প্রেরণ করি।

ডিবাউন (10 সেকেন্ড): হাই, আমি সেই লগিং মেশিনের কাজিন নই। (প্রতিটি উদ্বোধক a এর সাথে সম্পর্কিত নয় throttler এই কল্পিত বিশ্বের)। আমি কাছের একটি রেস্তোঁরায় ওয়েটার হিসাবে কাজ করি। আমার আপনাকে জানানো উচিত যে যতক্ষণ আপনি আপনার অর্ডারে স্টাফ যুক্ত করে চলেছেন ততক্ষণ আমি আপনার অর্ডার কার্যকর করার জন্য রান্নাঘরে যাব না। আপনি যখন সর্বশেষ আপনার অর্ডারটি সংশোধন করার পরে 10 সেকেন্ড সময় পেরিয়ে গেছেন কেবল তখনই আমি ধরে নেব যে আপনি আপনার অর্ডারটি সম্পন্ন করেছেন। তবেই আমি আপনার আদেশ রান্নাঘরে কার্যকর করব।


কুল ডেমোস: https://css-tricks.com/debouncing-throttling-explained- উদাহরণ /

ওয়েটার উপমাটির ক্রেডিট: https://codeburst.io/throttling-and-debouncing-in-javascript-b01cad5c8edf


1
সেরা ব্যাখ্যা।
করণ শর্মা

17

Debouncing আপনাকে কোনও ক্রিয়াকলাপ গ্রহণ করতে পারে এমন কলগুলির ফ্রিকোয়েন্সি পরিচালনা করার অনুমতি দেয়। এটি প্রদত্ত ফাংশনে ঘটে এমন একাধিক কলকে একত্রিত করে যাতে নির্দিষ্ট সময়কালের মেয়াদ শেষ হওয়ার আগে পুনরাবৃত্তি হওয়া কলগুলি উপেক্ষা করা হয়। মূলত বিতর্কটি নিশ্চিত করে যে কোনও ইভেন্টের জন্য ঠিক একটি সংকেত প্রেরণ করা হয়েছে যা বেশ কয়েকবার ঘটতে পারে।

থ্রোটলিং কলগুলির ফ্রিকোয়েন্সিকে সীমাবদ্ধ করে যা কোনও ফাংশন একটি নির্দিষ্ট সময়ের ব্যবধানে গ্রহণ করে। লক্ষ্য নির্ধারণের বিলম্বের চেয়ে বেশি সময় লক্ষ্য ফাংশন না চাওয়া হয় তা নিশ্চিত করার জন্য এটি ব্যবহার করা হয়। থ্রোটলিং হ'ল পুনরাবৃত্তি ইভেন্টের হার হ্রাস।


17

ইহা সহজ.

তারা কি সঠিক একই জিনিস যখন ব্যতীত (সীমিত রেট) শ্বাসনালী বলা হচ্ছে এটি আপনার আবৃত ফাংশন পর্যায়ক্রমে আগুন করব এবং debounce না। ঠিক শেষ (একবার চেষ্টা করুন) একেবারে শেষে আপনার ফাংশনটি কল করুন।

উদাহরণ : আপনি যদি স্ক্রোলিং করছেন তবে থ্রটল ধীরে ধীরে আপনার ফাংশনটি কল করবে যখন আপনি স্ক্রোল করবেন (প্রতি এক্স মিলিসেকেন্ডে)। আপনার ফাংশনটি কল করতে আপনি স্ক্রোলিং শেষ না হওয়া পর্যন্ত ডিবাউন অপেক্ষা করবে।


এটি লক্ষণীয় যে এই ডেমোগুলিতে, তারা "অভিন্ন" নাও লাগবে কারণ সর্বশেষ ইভেন্টের পরে সর্বদা এক্স মিলিসেকেন্ড গুলি চালানো হবে, যখন থ্রোটলের শেষ কলটি খুব শীঘ্রই ঘটতে পারে (এবং যখন ডাবনোয়েন সাধারণত স্বাভাবিকভাবে আগুন দেয় তখন এটি আবার কল করার প্রয়োজন হয় না) doesn't )। এটি বেশ অনর্থক, তবে আপনি ডেমোসের দিকে নজর দিলে উল্লেখযোগ্য mentioning
রায়ান টেলর

16

সাধারণ লোকের পদে:

Debouncing চালু করা থেকে একটি ফাংশন প্রতিরোধ করবে যখন এটি এখনও ঘন ঘন নামক হচ্ছে। একজন debounced ফাংশন শুধুমাত্র চালানো হবে পরে নির্ধারিত হয়েছে যে এটা এখন আর বলা হচ্ছে, যা এটা ঠিক একবার চালানো হবে বাতলান। উদ্বোধনের ব্যবহারিক উদাহরণ:

  • কোনও পাঠ্য-ক্ষেত্রের বিষয়বস্তু স্বতঃ-সংরক্ষণ বা বৈধকরণ যদি ব্যবহারকারী "টাইপ করা বন্ধ করে": অপারেশনটি কেবল একবার করা হবে, তারপরে এটি নির্ধারণ করা হয়েছে যে ব্যবহারকারী আর টাইপ করছেন না (কীগুলি টিপবে না)।

  • ব্যবহারকারীরা যেখানে তাদের মাউসকে বিশ্রাম দেয় সেখানে লগইন করুন: ব্যবহারকারী আর তাদের মাউসটি সরান না, সুতরাং (শেষ) অবস্থানটি লগইন করা যায়।

কল ফ্রিকোয়েন্সি নির্বিশেষে থ্রোটলিং কোনও ফাংশনটি সম্প্রতি চালিত হলে চালানো থেকে রোধ করবে। থ্রোটলিংয়ের ব্যবহারিক উদাহরণ:

  • ভি-সিঙ্কের প্রয়োগগুলি থ্রোটলিংয়ের উপর ভিত্তি করে: স্ক্রিনটি তখনই টানা হবে যখন শেষ স্ক্রিনের ড্র হওয়ার পরে 16 মাইল বিভক্ত হয়। স্ক্রিন রিফ্রেশ কার্যকারিতাটি যতবার বলা হয় তা নয়, এটি প্রতি 16 মিনিটে কেবল একবারে চলবে।

7

একটি বাস্তব জীবনের উপমা যা আমাকে ব্যক্তিগতভাবে মনে রাখতে সহায়তা করে:

  • debunch = একটি কথোপকথন । আপনি উত্তর দেওয়ার আগে অন্য ব্যক্তির কথা শেষ করার অপেক্ষা করুন।
  • থ্রোটল = একটি ড্রাম বিট । আপনি কেবল একটি সাধারণ 4/4 ড্রাম বিটে নোট খেলেন।

আত্মপ্রকাশের জন্য কেসগুলি ব্যবহার করুন :

  • টাইপিং। ব্যবহারকারী টাইপ করা বন্ধ করার পরে আপনি কিছু করতে চান। সুতরাং শেষ কীস্ট্রোকের পরে 1 সেকেন্ড অপেক্ষা করা অর্থপূর্ণ sense প্রতিটি কীস্ট্রোক অপেক্ষাটি পুনরায় আরম্ভ করে।
  • অ্যানিমেশান। ব্যবহারকারী তার উপর ঘোরাফেরা বন্ধ করার পরে আপনি কোনও উপাদানটি সঙ্কুচিত করতে চান। অভিষেকটি ব্যবহার না করার ফলে কার্সার অনিচ্ছাকৃতভাবে "হট" এবং "ঠান্ডা" অঞ্চলের মধ্যে চলে যাওয়ার ফলে একটি বিস্মৃত অ্যানিমেশন হতে পারে।

থ্রোটলের জন্য কেসগুলি ব্যবহার করুন :

  • স্ক্রোলিং। আপনি স্ক্রোলিংয়ে প্রতিক্রিয়া জানাতে চান তবে তৈরি গণনার পরিমাণকে সীমাবদ্ধ করুন, সুতরাং প্রতি 100 মিমি কিছু করা সম্ভাব্য পিছিয়ে যাওয়া রোধ করার জন্য যথেষ্ট।
  • মাউস সরানো। স্ক্রোলিং হিসাবে একই তবে মাউস সরানোর জন্য।
  • এপিআই কল আপনি কিছু ইউআই ইভেন্টগুলিতে একটি এপিআই কল ফায়ার করতে চান তবে আপনার সার্ভারকে ওভারলোড না করার জন্য আপনি যে এপিআই কল করছেন তার সীমাবদ্ধ করতে চান।

4

throtle শুধু কাছাকাছি একটি লেফাফা হয় debounce যার ফলে debounce পাস কলে functionকিছু সময় সময়ের মধ্যে, যদি debounce অবকাশ সময় বড় তারপর উল্লেখিত হয় সময়ের উপর একটি ফাংশন কল throtle



2

থ্রোটলিং

থ্রোটলিং সর্বাধিক সংখ্যক কার্যকর করে যা কোনও ফাংশনকে ওভারটাইম বলা যেতে পারে। যেমন "প্রতি 100 মিলিসেকেন্ডে একবারে এই ফাংশনটি কার্যকর করুন।" সাধারণ পরিস্থিতিতে বলুন আপনি এই ফাংশনটি 10 ​​সেকেন্ডের চেয়ে 1000 বার কল করবেন। যদি আপনি এটি প্রতি 100 মিলিসেকেন্ডে একবারে থ্রটল করেন তবে এটি কেবলমাত্র 100 টি বারে এই ফাংশনটি সম্পাদন করবে

(10s * 1,000) = 10,000ms
10,000ms / 100ms throttling = 100 maximum calls

Debouncing

তীব্রভাবে চাপ প্রয়োগ করা হচ্ছে যে কোনও ফাংশন কল না করে নির্দিষ্ট সময় ব্যয় না করা পর্যন্ত পুনরায় কল করা হবে না। যেমন "100 মিলিসেকেন্ড কল না করেই কেবল এই ফাংশনটি কার্যকর করুন।"

দ্রুত ফেটে একটি ফাংশনকে 1000 বার বলা হয়, 3 সেকেন্ডের মধ্যে ছড়িয়ে দেওয়া, তারপরে ফোন করা বন্ধ হয়ে যায়। আপনি যদি এটি 100 মিলিসেকেন্ডে চালিত করে থাকেন তবে ফাংশনটি একবারে একবার শুরু হবে, 3.1 সেকেন্ডে, একবার ফেটে যাওয়ার পরে। প্রতিটি সময় ফাংশনটি ফাটার সময় ডাকা হয় এটি ডিবাউনিং টাইমারটি পুনরায় সেট করে

উত্স: - থ্রোটল এবং ডিবাউনিং


2

মনে করুন আমাদের ইভেন্ট "ই" তে ডাকা হবে এমন একটি কলব্যাক ফাংশন "সিবি" আছে। "E" কে 1 সেকেন্ডে 1000 বার ট্রিগার করা যাক, তাই "সিবি" তে 1000 কল আসবে। এটি 1 কল / এমএস। অনুকূলতর করতে আমরা হয় ব্যবহার করতে পারি:

  • থ্রোটলিং : (100 মিঃসে) এর রোধ সঙ্গে, "CB" [100 তম মাইক্রোসফট, 200th মাইক্রোসফট, 300 MS ... 1000th MS] এ বলা হবে। এটি 1 কল / 100 এমএস। এখানে 1000 কল "সিবি" তে 10 টি কলকে অনুকূলিত করা হয়েছে।
  • ডিবাউনিং : (100 মিমি) ডিবিউনিংয়ের সাথে, "সিবি" কেবল একবার [1100 ম সেকেন্ড] এ কল করা হবে। এটি "ই" এর শেষ ট্রিগার পরে 100 মিমি যা [1000 মিমি] তে সুখে আছে। এখানে 1000 কল "সিবি" তে 1 টি কল করতে অনুকূলিত হয়েছে।

1

যতদূর আমি বুঝতে পারি, সহজ শর্তে থ্রোটলিং - নির্দিষ্ট সময়ের জন্য কল ইন্টেরওয়াল (কলব্যাক) এর সমান অর্থাত্ ইভেন্টের সময় নির্দিষ্ট সময়ের সাথে একই সংখ্যার জন্য একই ফাংশন কল করা এবং .. ডিবিউনিং - সেটআপটাইম কল করার অনুরূপ (কলব্যাকফোর্প এপি) বা ইভেন্টের ঘটনার পরে নির্দিষ্ট সময় কেটে যাওয়ার পরে কোনও ফাংশন কল করা। এই লিঙ্কটি হতে পারে helpful- https://css-tricks.com/the-difference-between-throttling-and-debouncing/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.