pooling content fix
This commit is contained in:
@@ -26,6 +26,8 @@ const Mission = () => {
|
||||
|
||||
const pollingRef = useRef<number | null>(null);
|
||||
const submissions = useAppSelector((state) => state.submin.submitsById[missionIdNumber] || []);
|
||||
const submissionsRef = useRef(submissions);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,7 +39,7 @@ const Mission = () => {
|
||||
pollingRef.current = setInterval(async () => {
|
||||
dispatch(fetchMySubmitsByMission(missionIdNumber));
|
||||
|
||||
const hasWaiting = submissions.some(
|
||||
const hasWaiting = submissionsRef.current.some(
|
||||
(s: any) => s.solution.status == "Waiting" || s.solution.testerState === "Waiting"
|
||||
);
|
||||
if (!hasWaiting) {
|
||||
@@ -57,6 +59,9 @@ const Mission = () => {
|
||||
dispatch(fetchMySubmitsByMission(missionIdNumber));
|
||||
}, [missionIdNumber]);
|
||||
|
||||
useEffect(() => {
|
||||
}, [submissions]);
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (pollingRef.current) {
|
||||
@@ -68,14 +73,16 @@ const Mission = () => {
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (submissions.length === 0) return;
|
||||
submissionsRef.current = submissions;
|
||||
|
||||
const hasWaiting = submissions.some(
|
||||
s => s.solution.status === "Waiting" || s.solution.testerState === "Waiting"
|
||||
);
|
||||
if (submissions.length) {
|
||||
const hasWaiting = submissions.some(
|
||||
s => s.solution.status === "Waiting" || s.solution.testerState === "Waiting"
|
||||
);
|
||||
|
||||
if (hasWaiting) {
|
||||
startPolling();
|
||||
if (hasWaiting) {
|
||||
startPolling();
|
||||
}
|
||||
}
|
||||
}, [submissions]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user