如何在 onChange 期间正确发出 get 请求

How to correctly make a get request during onChange

我想在 onChange 上按下按键 2 秒后发出获取请求。我正在使用 useForm,我知道它可以通过 lodash.throttle 完成,但这对我来说不是必需的。请帮我写一个函数

这是我的获取请求

const response = await searchContractorsById(data.INN);

<Controller
                  name="inn"
                  control={control}
                  render={({ field: { value, onChange } }) => (
                    <TextField
                      value={value}
                      onChange={onChange}
                      type="number"
                      fullWidth
                      size="small"
                      placeholder="Например, 6163152794"
                      error={!!errors?.inn}
                      helperText={errors?.inn && errors.inn?.message}
                    />
                  )}
                />

如果您希望在每个 onChange 执行此请求,您可以这样做:

const handleChange = (event, onChange) => {
        setTimeout(() => {
          searchContractorsById(data.INN)
            .then(() => {...use results here})
            .catch(e => ...)
        }, 2000)
        onChange(event)
      }

<Controller
  name="inn"
  control={control}
  render={({ field: { value, onChange } }) => (
    <TextField
      value={value}
      onChange={(e) => handleChange(e, onChange)}
      type="number"
      fullWidth
      size="small"
      placeholder="Например, 6163152794"
      error={!!errors?.inn}
      helperText={errors?.inn && errors.inn?.message}
    />
  )}
/>