Как объединить отдельные 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 функция. Подскажите, как это можно сделать?


Ответы (0 шт):