Metóda Lodash _.debounce().

Lodash metóda _.debounce(). sa používa na vytvorenie debounced funkcie, ktorá oneskorí danú funkciu až po uplynutí uvedenej doby čakania v milisekundách od posledného volania tejto debounced funkcie.

Funkcia debounced má metódu zrušenia, ktorú možno použiť na zrušenie volaní funkcií, ktoré sú oneskorené, a metódu flush, ktorá sa používa na okamžité volanie oneskorenej funkcie. Poskytuje tiež niekoľko možností, ktoré možno použiť na určenie, či sa má uvedená funkcia volať na začiatku a/alebo na konci čakacieho času.

Poznámka:

  • The funkciu sa volá s poslednými argumentmi, ktoré sú zadané debounced funkcii. Následné volania debounced funkcie však vrátia výsledok posledného funkciu hovor.
  • Keď sú možnosti na začiatku a na konci pravdivé, funkcia sa vykoná okamžite, keď ide o prvé volanie, a druhé volanie bude po uplynutí času „čakania“.
  • Keď je čakacia doba 0 a hlavná možnosť je nepravda, potom je func hovor sa odloží až do ďalšieho zaškrtnutia.

Syntax:

_.debounce( func, wait, options{}) 

Parametre:

  • func: Je to funkcia, ktorá musí byť debounced.
  • počkaj: Je to počet milisekúnd, o ktoré majú byť hovory oneskorené. Je to voliteľný parameter. Predvolená hodnota je 0.
  • možnosti: Je to objekt options, ktorý možno použiť na zmenu správania metódy. Je to voliteľný parameter
    • vedenie (logická hodnota) : Ak je to pravda, funkcia sa vykoná okamžite, namiesto čakania na čas „čakania“. Predvolená hodnota je false znamená, že čaká, kým sa neskončí čas „čakania“.
    • maxPočkaj (číslo) : Je to maximálny počet volaní funkcie po uplynutí tohto času.
    • koncové (logická hodnota) : Definuje volanie funkcie na zadaný čas (doba čakania). predvolene sa nastaví na hodnotu true.

Návratová hodnota:

Táto metóda vráti novú debounced funkciu.

Príklad 1: V tomto príklade sa funkcia zavolá po 1000 ms, ako je uvedené vo funkcii lodash.debounce().

Javascript




// Requiring lodash library> const lodash = require(> 'lodash'> );> // Using lodash.debounce() method> // with its parameters> let debounce_fun = lodash.debounce(> function> () {> > console.log(> 'Function debounced after 1000ms!'> );> }, 1000);> debounce_fun();>

Výkon:

Function debounced after 1000ms! 

Príklad 2: V tomto príklade sú oba voliteľné parametre pravdivé, preto sa funkcia vykonáva okamžite bez dodržania zadaného času.

Javascript




// Requiring lodash library> const _ = require(> 'lodash'> );> // Using _.debounce() method> // with its parameters> let debounced_fun = _.debounce(> function> () {> > console.log(> 'function is executing immideately!!'> )> }, 5000, { leading:> true> , trailing:> true> });> debounced_fun();>

Výkon:

function is executing immideately!!