Как объединить отдельные debounce функции?
Не знаю, как правильно задать вопрос, но попробую. Поправьте меня, плз! Есть какое-то количество инпутов в форме. При изменении нужно запускать patch, обернутый в debounce для каждого инпута. Что-то типа такого:
const TIME = 1000
const patchValue1 = debounce((key, value) => onPatch(key, value), TIME)
const patchValue2 = debounce((key, value) => onPatch(key, value), TIME)
const patchValue3 = debounce((key, value) => onPatch(key, value), TIME)
const patchValue4 = debounce((key, value) => onPatch(key, value), TIME)
const onPatch = (key, value) => {
// какой-то одинаковый для всех код
}
const onChange = (key, value) => {
if (key === 'value1') {
patchValue1(key, value)
} else if (key === 'value2') {
patchValue2(key, value)
} else if (key === 'value3') {
patchValue3(key, value)
} else if (key === 'value4') {
patchValue4(key, value)
}
}
Таких инпутов может быть 100500, возможно, они даже будут меняться динамически. Задача в том, что бы для каждого key была своя debounce функция. Подскажите, как это можно сделать?