Преглед изворни кода

fix: status query not stop when leaving document embedding detail page (#4754)

tags/0.6.10
doufa пре 1 година
родитељ
комит
b1c9671a60
No account linked to committer's email address
1 измењених фајлова са 10 додато и 14 уклоњено
  1. 10
    14
      web/app/components/datasets/documents/detail/embedding/index.tsx

+ 10
- 14
web/app/components/datasets/documents/detail/embedding/index.tsx Прегледај датотеку

@@ -126,17 +126,13 @@ const EmbeddingDetail: FC<Props> = ({ detail, stopPosition = 'top', datasetId: d
return status
}

const [isStopQuery, setIsStopQuery] = useState(false)
const isStopQueryRef = useRef(isStopQuery)
useEffect(() => {
isStopQueryRef.current = isStopQuery
}, [isStopQuery])
const stopQueryStatus = () => {
setIsStopQuery(true)
}
const isStopQuery = useRef(false)
const stopQueryStatus = useCallback(() => {
isStopQuery.current = true
}, [])

const startQueryStatus = async () => {
if (isStopQueryRef.current)
const startQueryStatus = useCallback(async () => {
if (isStopQuery.current)
return

try {
@@ -146,6 +142,7 @@ const EmbeddingDetail: FC<Props> = ({ detail, stopPosition = 'top', datasetId: d
detailUpdate()
return
}

await sleep(2500)
await startQueryStatus()
}
@@ -153,16 +150,15 @@ const EmbeddingDetail: FC<Props> = ({ detail, stopPosition = 'top', datasetId: d
await sleep(2500)
await startQueryStatus()
}
}
}, [stopQueryStatus])

useEffect(() => {
setIsStopQuery(false)
isStopQuery.current = false
startQueryStatus()
return () => {
stopQueryStatus()
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
}, [startQueryStatus, stopQueryStatus])

const { data: indexingEstimateDetail, error: indexingEstimateErr } = useSWR({
action: 'fetchIndexingEstimate',

Loading…
Откажи
Сачувај