防止 fetch 发出不需要的请求

问题描述 投票:0回答:1

fetch
正在发出多个不需要的请求,我尝试了以下方法,但它仍然发出 6 到 10 个请求

const [allowParse, setAllowParse] = useState<boolean>(true);
socket.on("upload_finished", function (response) {
        if (allowParse === true) {
            console.log("parse start");
            fetch("start-parse", {method: "POST"});
            setAllowParse(false)
        }
    });

我也研究了这篇文章,但我不能在条件语句中使用

useEffect

我该如何解决这个问题?

如果您想知道我如何接收

upload_finished
我正在使用
flask socket-io

@app.route("/upload", methods=["POST", "GET"])
def upload_file():
    # Code handling file upload
    socketio.emit("upload_finished")
reactjs typescript socket.io fetch-api flask-socketio
1个回答
0
投票

您应该将整个 socket.on 包装在 useEffect 中。我不明白为什么你不能这样做,除非你共享整个组件文件。

© www.soinside.com 2019 - 2024. All rights reserved.