Metoda Lodash _.debounce().

Lodash metoda _.debounce(). se používá k vytvoření debounced funkce, která zpozdí danou funkci až po uplynutí uvedené doby čekání v milisekundách od posledního volání této debounced funkce.

Funkce debounced má metodu cancel, kterou lze použít ke zrušení volání funkcí, která jsou zpožděná, a metodu flush, která se používá k okamžitému volání zpožděné funkce. Poskytuje také některé možnosti, které lze použít k určení, zda má být uvedená funkce volána na začátku a/nebo na konci čekací doby.

Poznámka:

  • The funkce je volána s posledními argumenty, které jsou dány debounced funkci. Následná volání debounced funkce však vrátí výsledek poslední funkce volání.
  • Když jsou možnosti úvodní a koncové pravdivé, funkce se provede okamžitě, když se jedná o první volání, a druhé volání bude po dokončení „čekací“ doby.
  • Když je čekací doba 0 a úvodní možnost je nepravda, pak je func hovor je odložen do dalšího zaškrtnutí.

Syntax:

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

Parametry:

  • func: Je to funkce, která musí být debounced.
  • Počkejte: Je to počet milisekund, o které mají být hovory zpožděny. Je to volitelný parametr. Výchozí hodnota je 0.
  • možnosti: Je to objekt options, který lze použít pro změnu chování metody. Je to volitelný parametr
    • vedoucí (logická hodnota) : Pokud je to pravda, funkce se provede okamžitě, nikoli čekání na dobu „čekání“. Výchozí hodnota je false znamená, že čeká, dokud nebude dokončena doba čekání.
    • maxPočkejte (číslo) : Je to maximální počet, kolikrát bude funkce volána po uplynutí této doby.
    • koncové (logická hodnota) : Definuje volání funkce na zadanou dobu (doba čekání). ve výchozím nastavení se nastaví na hodnotu true.

Návratová hodnota:

Tato metoda vrací novou debounced funkci.

Příklad 1: V tomto příkladu bude funkce volána po 1000 ms, jak je uvedeno ve funkci 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ýstup:

Function debounced after 1000ms! 

Příklad 2: V tomto příkladu jsou oba volitelné parametry pravdivé, proto se funkce provádí okamžitě, aniž by následovala zadaný čas.

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ýstup:

function is executing immideately!!