Я пытаюсь создать многоразовую функцию отладки в Vue 3, используя API композиции, но мне не удается заставить ее работать.
Вот что у меня есть на данный момент:
debounce.js
const debounce = (fn, delay) => {
let timeout
return (...args) => {
if (timeout) {
clearTimeout(timeout)
}
timeout = setTimeout(() => {
fn(...args)
}, delay)
}
}
export default debounce
BaseComponent.vue
<template>
<input type="text" @input="onInput" />
</template>
<script>
import debounce from './debounce'
export default {
setup() {
const onInput = () => {
debounce(() => {
console.log('debug')
}, 500)
}
return { onInput }
}
}
</script>
Обратный вызов, переданный в функцию противодействия, не запускается. Я не вижу вывода в консоли.