优化链路

This commit is contained in:
zhx 2026-07-03 21:03:28 +08:00
parent cb4dcd87cf
commit a83907fc05

View File

@ -10,6 +10,8 @@ export const SOCIAL_BI_TZ = DEFAULT_TIME_ZONE;
export function useSocialBiData(filters) { export function useSocialBiData(filters) {
const [master, setMaster] = useState(null); const [master, setMaster] = useState(null);
// 数据请求等 master 结果落地后再发:否则会先用兜底 App 列表打一轮master 到达后立刻重打一轮(整轮浪费)。
const [isMasterSettled, setIsMasterSettled] = useState(false);
const [overview, setOverview] = useState(null); const [overview, setOverview] = useState(null);
const [kpi, setKpi] = useState(null); const [kpi, setKpi] = useState(null);
const [isLoading, setIsLoading] = useState(true); const [isLoading, setIsLoading] = useState(true);
@ -29,6 +31,11 @@ export function useSocialBiData(filters) {
if (!ignore) { if (!ignore) {
setMaster(null); setMaster(null);
} }
})
.finally(() => {
if (!ignore) {
setIsMasterSettled(true);
}
}); });
return () => { return () => {
ignore = true; ignore = true;
@ -50,6 +57,9 @@ export function useSocialBiData(filters) {
}, [filters.apps, master]); }, [filters.apps, master]);
useEffect(() => { useEffect(() => {
if (!isMasterSettled) {
return;
}
const sequence = ++requestSeq.current; const sequence = ++requestSeq.current;
const startMs = rangeStartMs(range, SOCIAL_BI_TZ); const startMs = rangeStartMs(range, SOCIAL_BI_TZ);
const endMs = rangeEndMs(range, SOCIAL_BI_TZ); const endMs = rangeEndMs(range, SOCIAL_BI_TZ);
@ -85,7 +95,7 @@ export function useSocialBiData(filters) {
setErrors(nextErrors); setErrors(nextErrors);
setIsLoading(false); setIsLoading(false);
}); });
}, [appCodes, range, refreshToken]); }, [appCodes, isMasterSettled, range, refreshToken]);
const refresh = useCallback(() => { const refresh = useCallback(() => {
setRefreshToken((current) => current + 1); setRefreshToken((current) => current + 1);