Uso lodash en un proyecto Vue 3, cuando trato de usar _.throttle en la función de setup , no funciona. Escribí una demostración en el stackblitz .
<template> <div id="app"> <button @click="handleClick">Click</button> </div> </template> <script> import _ from 'lodash'; export default { name: 'App', setup() { const handleClick = () => _.throttle(function () { console.log('hi'); }, 2000); return { handleClick, }; }, }; </script>Le falta ejecutar la función acelerada agregando () :
const handleClick = () => _.throttle(function () { console.log('hi'); }, 2000)();o asígnelo a una variable y luego ejecútelo:
const handleClick = () =>{ let throttled= _.throttle(function () { console.log('hi'); }, 2000); throttled(); }Bien, ahora tengo una solución. Mi compañero dijo que omitir el () => puede arreglarlo, agregar el { trailing: false } es mejor.
const handleClick = _.throttle(function () { console.log('hi'); }, 2000, { trailing: false });