优化链路

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