एक बहस समारोह उस दर को सीमित करता है जिस पर कोई फ़ंक्शन आग लग सकता है। उदाहरण के लिए, एक स्वत:पूर्ण टेक्स्ट बार जो सर्वर से पूछताछ करता है। यदि आप प्रत्येक कीस्ट्रोक पर सर्वर को क्वेरी करते हैं, तो इसका अनावश्यक रूप से नेटवर्क और मेमोरी प्रभाव होगा। इसके बजाय आप जो कर सकते हैं वह एक निश्चित समय में इन कॉलों की संख्या को सीमित करना है।
आप अपना खुद का डिबॉन्स फंक्शन लिख सकते हैं जो आपके वास्तविक फंक्शन को एक तर्क के रूप में लेता है और इसे सीमित (थ्रॉटल) तरीके से निष्पादित करता है।
उदाहरण
const debounce =(cb, time) => { समय समाप्त होने दें; वापसी समारोह () { const wrapperFunc =() => cb.apply (यह, तर्क); क्लियरटाइमआउट (टाइमआउट); टाइमआउट =सेटटाइमआउट (रैपरफंक, टाइम); }}पूर्व>यह फ़ंक्शन 2 तर्क कॉलबैक लेता है और अंतराल जिसमें इसे कॉल किया जाना चाहिए। तो मान लें कि एपीआई को पहली कॉल 1ms पर गई थी और आपने 250ms के रूप में समय निर्धारित किया है, 251ms तक, एपीआई को एक नया कॉल नहीं किया जाएगा चाहे कितनी बार इस फ़ंक्शन को कॉल किया गया हो। आप इस कॉल का उपयोग करके अपने स्वयं के फ़ंक्शन कॉल को बदल सकते हैं।