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")
您应该将整个 socket.on 包装在 useEffect 中。我不明白为什么你不能这样做,除非你共享整个组件文件。