perf: optimize device & alarm query

This commit is contained in:
yangsy
2025-09-12 11:19:22 +08:00
parent e74d04d24b
commit 2ddab88a92
3 changed files with 35 additions and 6 deletions

View File

@@ -10,6 +10,7 @@ import { LINE_DEVICES_QUERY_KEY } from '@/constants';
import { ndmClient } from '@/apis/client';
import { sleepFrame } from '@/utils/sleep';
import type { Station } from '@/apis/domains';
import { runTask } from '@/utils/run-task';
const createEmptyStationDevices = (): StationDevices => {
return {
@@ -74,9 +75,13 @@ function useStationDevicesMutation() {
}
return await getNdmDevicesAll(station.code, signal);
},
onSuccess: async (stationDevices, { station }) => {
lineDevices.value[station.code] = stationDevices;
await sleepFrame();
onSuccess: (stationDevices, { station }) => {
// TODO: 优化性能,避免阻塞主线程(待测试)
// lineDevices.value[station.code] = stationDevices;
// await sleepFrame();
runTask(() => {
lineDevices.value[station.code] = stationDevices;
});
},
onError: (error, { station }) => {
console.error(`获取车站 ${station.name} 设备数据失败:`, error);