axios 如何防止在react js中点击取消按钮时调用API?

6rqinv9w  于 2023-01-25  发布在  iOS
关注(0)|答案(1)|浏览(139)

我有一个递归函数,我想在点击取消按钮时停止调用函数。这是提交方法:

const submitButton = () => {
    service(convertArray, (status, result) => {
        if (result?.success && submitData) {
            setStatusResult(true);
            if (j < fileData?.chunkResult.length) {
                method(j + 1, percent + percent1);
            }
        } else {
            setStatusResult(false);
        }
    });
};

取消按钮应该怎么办?

aij0ehis

aij0ehis1#

递归函数有一个基本情况,用户可以创建一个基本情况,如果基本情况还没有满足,则运行函数,如下所示:

const [isCancelled, setIsCanceled] = useState(false);

const onCancelButtonClick = () => setIsCanceled(true);

const submitButton = () => {
  if (isCancelled) return;
  service(convertArray, (status, result) => {
    if (result?.success && submitData) {
      setStatusResult(true);
      if (j < fileData?.chunkResult.length) {
        method(j + 1, percent + percent1);
      }
    } else {
      setStatusResult(false);
    }
  });
};

相关问题