@lexstile

Как правильно совместить debounce и cancel token?

Есть вариант с cancel token, который работает:
useEffect(() => {
    const asyncEnrollment = async () => {
      const data = { userId, filter };
      setLoading(true);
      await initialEnrollment(dispatch, data);
      setLoading(false);
    };

    asyncEnrollment();
  }, [dispatch, userId, filter]);

Есть вариант с debounce, который тоже работает, но не работает cancel token:
const loadEnrollment = useRef(
  debounce(async (data) => {
    setLoading(true);
    await initialEnrollment(dispatch, data);
    setLoading(false);
  }, 4000)
);

useEffect(() => {
  const data = { userId, filter };
  loadEnrollment.current(data);
}, [userId, filter]);

По отдельности работают, вместе - нет.
Как их совместить?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы